# Map Generator With Markers

## Links

- Product page URL: https://www.agentpmt.com/marketplace/map-generator-with-markers
- Product markdown URL: https://www.agentpmt.com/marketplace/map-generator-with-markers?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/map-generator-with-markers?format=agent-json

## Overview

- Product ID: 695e8767c309cf48479329e6
- Vendor: Apoth3osis
- Type: function
- Unit type: request
- Price: 2000 credits
- Categories: Data Science, Data Processing, Mapping & Visualization, Geocoding & Location Services, Satellite & Aerial Imagery, Routing & Navigation, Marketing Automation, Task & Workflow Automation, Property Management
- Generated at: 2026-06-05T12:48:21.337Z

### Page Description

Generate custom static map with markers and optional paths connecting points. This tool creates map images with multiple markers that can be customized with colors, labels, and sizes, supports drawing paths between points with configurable colors and weights, offers multiple map types including roadmap, satellite, hybrid, and terrain views, allows precise zoom control and high DPI scaling for better image quality, and automatically stores generated images in cloud storage with 7-day expiration. Perfect for creating location-based visualizations, route maps, and geographic data presentations without requiring interactive map embedding.

### Agent Description

Generate static maps with markers, paths, and labels. Multiple map types (roadmap, satellite, hybrid, terrain). Stored 7 days.

## Details

### Details

Generate custom static map with markers and optional paths connecting points. This tool creates map images with multiple markers that can be customized with colors, labels, and sizes, supports drawing paths between points with configurable colors and weights, offers multiple map types including roadmap, satellite, hybrid, and terrain views, allows precise zoom control and high DPI scaling for better image quality, and automatically stores generated images in cloud storage with 7-day expiration. Perfect for creating location-based visualizations, route maps, and geographic data presentations without requiring interactive map embedding.

### Actions

- `create_map` (20 credits): Generate a static map image with markers plotted at specific coordinates, with optional path connecting points.

### Use Cases

Creating route maps with waypoints, Generating location markers for reports, Visualizing geographic data distributions, Creating satellite view property maps, Building delivery route visualizations, Generating maps for presentations, Creating location-based infographics, Documenting field service locations, Visualizing travel itineraries, Creating real estate location maps

### Workflows Using This Tool

No public workflows currently reference this product.

### Related Content

No related content is currently linked to this product.

## Integration Details

### DynamicMCP

- Setup page URL: https://www.agentpmt.com/dynamic-mcp
- Claude setup guide: https://www.agentpmt.com/dynamic-mcp?platform=claude#videos
- ChatGPT setup guide: https://www.agentpmt.com/dynamic-mcp?platform=chatgpt#videos
- Cursor setup guide: https://www.agentpmt.com/dynamic-mcp?platform=cursor#videos
- Windsurf setup guide: https://www.agentpmt.com/dynamic-mcp?platform=windsurf#videos

Use the local router for command-based MCP clients. It forwards requests to `https://api.agentpmt.com/mcp` and does not execute tools locally.

```bash
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

### REST API

The live page renders cURL, Python, JavaScript, and Node.js examples. Logged-in users see those examples prefilled with their own API and budget credentials.

- Purchase endpoint: https://api.agentpmt.com/products/purchase
- Authorization format: `Bearer <base64(apiKey:budgetKey)>`

```bash
curl -X POST "https://api.agentpmt.com/products/purchase" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eW91ci1hcGkta2V5LWhlcmU6eW91ci1idWRnZXQta2V5LWhlcmU=" \
  -d '{
    "product_id": "695e8767c309cf48479329e6",
    "parameters": {
      "action": "create_map",
      "points": [],
      "map_type": "roadmap",
      "image_width": 640,
      "image_height": 640,
      "scale": 1,
      "draw_path": false,
      "path_color": "0x0000ff",
      "path_weight": 5
    }
  }'
```

### Autonomous Agents

Autonomous agents can access this tool through AgentAddress credit balances or direct x402 payments. Use the Autonomous Agent API reference for endpoint shapes after choosing the access pattern below.

- Autonomous Agent API reference URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents
- Autonomous Agent API reference markdown URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents?format=agent-md
- Credit-Based Access Using AgentAddress: https://www.agentpmt.com/docs/autonomous-agents/credit-based-tool-usage-with-agentaddress
- AgentAddress is preferred for persistent file access, stored platform state, and maximum tool use ability across repeated calls.
- Direct x402 is for independent one-off tool calls that do not require shared files or stored platform state.
- Direct x402 public payments: USDC on Base, Arbitrum, Optimism, Polygon, and Avalanche.

### Schema

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "create_map": {
      "description": "Generate a static map image with markers plotted at specific coordinates, with optional path connecting points.",
      "properties": {
        "points": {
          "type": "array",
          "description": "Points to plot as markers. Each point requires latitude and longitude coordinates.",
          "required": true,
          "minItems": 1,
          "items": {
            "type": "object",
            "properties": {
              "latitude": {
                "type": "number",
                "description": "Latitude coordinate (-90 to 90)",
                "minimum": -90,
                "maximum": 90,
                "required": true
              },
              "longitude": {
                "type": "number",
                "description": "Longitude coordinate (-180 to 180)",
                "minimum": -180,
                "maximum": 180,
                "required": true
              },
              "label": {
                "type": "string",
                "description": "Single alphanumeric label (A-Z, 0-9). Only supported for default/mid size markers.",
                "required": false
              },
              "color": {
                "type": "string",
                "description": "Marker color name or hex (e.g., red, blue, 0xFFFF00). Overrides global marker_color.",
                "required": false
              },
              "size": {
                "type": "string",
                "description": "Marker size for this point. Overrides global marker_size.",
                "enum": [
                  "tiny",
                  "small",
                  "mid"
                ],
                "required": false
              }
            }
          }
        },
        "map_type": {
          "type": "string",
          "description": "Map type to display",
          "default": "roadmap",
          "enum": [
            "roadmap",
            "satellite",
            "hybrid",
            "terrain"
          ],
          "required": false
        },
        "image_width": {
          "type": "integer",
          "description": "Image width in pixels (max 640)",
          "default": 640,
          "minimum": 1,
          "maximum": 640,
          "required": false
        },
        "image_height": {
          "type": "integer",
          "description": "Image height in pixels (max 640)",
          "default": 640,
          "minimum": 1,
          "maximum": 640,
          "required": false
        },
        "scale": {
          "type": "integer",
          "description": "Scale factor for high DPI displays (1 or 2)",
          "default": 1,
          "minimum": 1,
          "maximum": 2,
          "required": false
        },
        "zoom": {
          "type": "integer",
          "description": "Zoom level (0-21). Auto-calculated if omitted when markers/path are provided.",
          "minimum": 0,
          "maximum": 21,
          "required": false
        },
        "draw_path": {
          "type": "boolean",
          "description": "Connect points with a path line. Requires at least 2 points.",
          "default": false,
          "required": false
        },
        "path_color": {
          "type": "string",
          "description": "Path color in hex format (e.g., 0x0000ff for blue)",
          "default": "0x0000ff",
          "required": false
        },
        "path_weight": {
          "type": "integer",
          "description": "Path line weight in pixels",
          "default": 5,
          "minimum": 1,
          "maximum": 20,
          "required": false
        },
        "marker_color": {
          "type": "string",
          "description": "Default marker color name or hex for all points (overridden by per-point color)",
          "required": false
        },
        "marker_size": {
          "type": "string",
          "description": "Default marker size for all points (overridden by per-point size)",
          "enum": [
            "tiny",
            "small",
            "mid"
          ],
          "required": false
        }
      }
    }
  },
  "properties": {
    "action": {
      "type": "string",
      "description": "Use 'get_instructions' to retrieve documentation. Action to perform.",
      "required": true,
      "enum": [
        "get_instructions",
        "create_map"
      ]
    },
    "draw_path": {
      "type": "boolean",
      "description": "Connect points with a path line.",
      "required": false
    },
    "image_height": {
      "type": "integer",
      "description": "Image height in pixels (max 640).",
      "required": false,
      "default": 640,
      "minimum": 1,
      "maximum": 640
    },
    "image_width": {
      "type": "integer",
      "description": "Image width in pixels (max 640).",
      "required": false,
      "default": 640,
      "minimum": 1,
      "maximum": 640
    },
    "map_type": {
      "type": "string",
      "description": "Map type to display.",
      "required": false,
      "default": "roadmap",
      "enum": [
        "roadmap",
        "satellite",
        "hybrid",
        "terrain"
      ]
    },
    "marker_color": {
      "type": "string",
      "description": "Default marker color name or hex (applies to all points unless overridden per point).",
      "required": false
    },
    "marker_size": {
      "type": "string",
      "description": "Default marker size for all points unless overridden per point.",
      "required": false,
      "enum": [
        "tiny",
        "small",
        "mid"
      ]
    },
    "path_color": {
      "type": "string",
      "description": "Path color in hex format (e.g., 0x0000ff for blue).",
      "required": false,
      "default": "0x0000ff"
    },
    "path_weight": {
      "type": "integer",
      "description": "Path line weight in pixels.",
      "required": false,
      "default": 5,
      "minimum": 1,
      "maximum": 20
    },
    "points": {
      "type": "array",
      "description": "Points to plot as markers. Use lat/lng to avoid geocoding limits. Each point can have latitude (-90 to 90), longitude (-180 to 180), optional label (single alphanumeric character A-Z, 0-9), optional color (name or hex like red, blue, 0xFFFF00), and optional size (tiny, small, mid).",
      "required": false,
      "items": {
        "type": "object"
      },
      "minItems": 1
    },
    "scale": {
      "type": "integer",
      "description": "Scale factor for high DPI displays (1 or 2).",
      "required": false,
      "default": 1,
      "minimum": 1,
      "maximum": 2
    },
    "zoom": {
      "type": "integer",
      "description": "Zoom level (0-21). Optional if markers or path are provided.",
      "required": false,
      "minimum": 0,
      "maximum": 21
    }
  }
}
```

### Usage Instructions

# Map Generator With Markers

Generate static map images with custom markers and optional connecting paths between points.

## Actions

### create_map

Generate a static map image with one or more markers plotted at specific coordinates.

**Required Fields:**
- `points` (array): One or more point objects to plot. Each point requires:
  - `latitude` (number): Latitude coordinate (-90 to 90)
  - `longitude` (number): Longitude coordinate (-180 to 180)

**Optional Point Fields:**
- `label` (string): Single character A-Z or 0-9. Only displayed on default/mid size markers.
- `color` (string): Marker color name or hex code (e.g., `"red"`, `"blue"`, `"0xFFFF00"`)
- `size` (string): Marker size -- `"tiny"`, `"small"`, or `"mid"`

**Optional Map Fields:**
- `map_type` (string): `"roadmap"` (default), `"satellite"`, `"hybrid"`, or `"terrain"`
- `image_width` (integer): Width in pixels, max 640. Default: 640
- `image_height` (integer): Height in pixels, max 640. Default: 640
- `scale` (integer): 1 (default) or 2 for high-DPI/retina displays
- `zoom` (integer): Zoom level 0-21. Auto-calculated if omitted.
- `marker_color` (string): Default color for all markers (overridden by per-point color)
- `marker_size` (string): Default size for all markers (overridden by per-point size)
- `draw_path` (boolean): Set `true` to draw a line connecting points in order. Requires at least 2 points.
- `path_color` (string): Path line color in hex (e.g., `"0xFF0000"`). Default: `"0x0000ff"`
- `path_weight` (integer): Path line thickness in pixels, 1-20. Default: 5

**Example - Basic markers:**
```json
{
  "action": "create_map",
  "points": [
    {"latitude": 37.4220, "longitude": -122.0841, "label": "A"},
    {"latitude": 37.4275, "longitude": -122.1697, "label": "B"}
  ]
}
```

**Example - Styled markers with path on satellite view:**
```json
{
  "action": "create_map",
  "points": [
    {"latitude": 37.7749, "longitude": -122.4194, "label": "A", "color": "red"},
    {"latitude": 37.3382, "longitude": -121.8863, "label": "B", "color": "blue"}
  ],
  "draw_path": true,
  "path_color": "0xFF0000",
  "map_type": "hybrid"
}
```

**Example - Multiple locations with global marker styling:**
```json
{
  "action": "create_map",
  "points": [
    {"latitude": 40.7128, "longitude": -74.0060},
    {"latitude": 34.0522, "longitude": -118.2437},
    {"latitude": 41.8781, "longitude": -87.6298}
  ],
  "marker_color": "green",
  "marker_size": "mid",
  "map_type": "terrain",
  "image_width": 600,
  "image_height": 400
}
```

## Response

The response includes:
- `signed_url` -- Link to the generated map image. Always present this to the user.
- `image_base64` -- Base64-encoded PNG for inline rendering
- `file_id` -- Storage identifier for the image
- `size_bytes` -- Image file size
- `points_count` -- Number of markers plotted
- `map_type`, `size`, `scale`, `zoom`, `draw_path` -- Confirms the settings used

## Important Notes

- Use latitude/longitude coordinates for best reliability.
- Labels only display on default or mid-size markers. Tiny and small markers cannot show labels.
- When `draw_path` is enabled, at least 2 points are required.
- If zoom is omitted, the map auto-fits to show all markers.
- Maximum image dimensions are 640x640 pixels (before scale multiplier).
- Generated map images are available for 7 days via the signed URL.

### Frequently Asked Questions

#### How do I connect this tool to an external agent?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

You can install the local MCP server by opening a terminal and running:

```
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

This will connect you to local agents like Claude Code, Windsurf, Grok Build, Cursor, etc.

Alternatively you can connect to the hosted version with this config block, no installation required:

```
{
  "mcpServers": {
    "agentpmt": {
      "type": "streamable-http",
      "url": "https://api.agentpmt.com/mcp",
      "headers": {
        "Authorization": "Bearer <AGENTPMT_BEARER_TOKEN>",
        "x-instance-metadata": "{\"client\":\"generic-mcp\",\"platform\":\"remote\"}"
      }
    }
  }
}
```

[View MCP Connection Instructions](/docs/mcp-reference/connection) for more details.

#### How does an external agent use this tool?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

After the external agent is connected to an Agent Group that can use this tool, paste this prompt into the agent:

> Call the AgentPMT-Tool-Search-and-Execution tool with action 'get\_schema' and tool\_id 695e8767c309cf48479329e6 ("Map Generator With Markers"). Then call the same tool with action 'call\_tool', tool\_id 695e8767c309cf48479329e6, and the parameters needed for my request.

The agent should fetch the tool schema first, collect the required parameters for your request, and then call the tool through AgentPMT.

### Dependencies

This product has no public dependency products.