You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Google Maps默认标记的尺寸?

修改Google Maps默认标记尺寸的解决方案

我懂你的烦恼——网上大多教程都是讲自定义标记的尺寸调整,但默认的红色标记想改大小确实有点绕,直接用size属性不生效是因为默认标记是Google内置的资源,得换个方式处理。

为什么你的代码没生效?

你之前的代码只设置了size但没指定url,Google Maps会默认认为你要创建自定义符号(比如SVG图形),而不是调用默认的标记图标,所以尺寸设置不会作用在默认标记上。

正确的实现方法

要修改默认标记的尺寸,得先把默认标记的图标当作自定义图标来引用,步骤如下:

  1. 动态获取默认标记的图标URL(这种方式更可靠,避免Google更新URL导致失效)
  2. 用这个URL创建自定义图标配置,同时设置size、scaledSize和锚点属性

完整代码示例:

// 先创建临时默认标记,获取其图标URL
const tempDefaultMarker = new google.maps.Marker();
const defaultIconUrl = tempDefaultMarker.getIcon();

// 创建你需要的自定义尺寸标记
const newMarker = new google.maps.Marker({
  position: marker.center,
  icon: {
    url: defaultIconUrl, // 指定默认标记的图标URL
    size: new google.maps.Size(60, 60), // 原始图标尺寸(和缩放尺寸一致即可)
    scaledSize: new google.maps.Size(60, 60), // 地图上显示的实际尺寸
    anchor: new google.maps.Point(30, 60) // 锚点设为图标底部中心,避免位置偏移
  }
});

额外说明

  • scaledSize是控制显示尺寸的核心属性,即使size和它设为相同值也建议保留,确保缩放逻辑正常。
  • 如果不想动态获取URL,也可以直接使用Google默认标记的官方URL:"https://maps.gstatic.com/mapfiles/api-3/images/spotlight-poi2.png",但动态获取的方式更稳妥。
  • 调整anchor的值可以让标记精准对准目标位置,比如如果你的标记尺寸是(40,40),锚点就设为new google.maps.Point(20,40)。

内容的提问来源于stack exchange,提问作者Dipshika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 13:22:39