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

如何通过Google Geolocation API移除嵌入地图的红色目的地标记?

如何移除Google嵌入地图的红色目的地标记?

我正在学习使用Google Geolocation API,已经通过密钥获取到经纬度,并且成功加载出对应位置的嵌入地图。但现在需要去掉地图上的红色目的地标记,想确认能不能通过API实现这个需求。

相关代码

获取经纬度的代码

async function getApproximateLocation(apiKey) {
    try {
        const response = await fetch('https://www.googleapis.com/geolocation/v1/geolocate?key=' + apiKey, {
            method: 'POST'
        });
        const data = await response.json();
        return {
            latitude: data.location.lat,
            longitude: data.location.lng
        };
    } catch (error) {
        console.error('获取大致位置出错:', error);
        throw error;
    }
}

加载嵌入地图的代码

const loc = userLocation ? `${userLocation.latitude},${userLocation.longitude}` : `${ipInfo.latitude},${ipInfo.longitude}`;
const mapUrl = `https://maps.google.com/maps?q=${loc}&z=12&output=embed`;
mapIframe.src = mapUrl;
mapContainer.style.display = 'block';

效果说明

  • 当前效果:地图加载后会显示红色的目的地标记
  • 期望效果:仅定位到指定经纬度的地图区域,不显示红色标记

解决方案

不需要改动Geolocation API的调用逻辑,只要修改嵌入地图的URL参数就能实现需求:

把原来URL中的q=${loc}替换成ll=${loc},这个参数只会设置地图中心坐标,不会自动添加红色标记。修改后的代码如下:

const loc = userLocation ? `${userLocation.latitude},${userLocation.longitude}` : `${ipInfo.latitude},${ipInfo.longitude}`;
// 替换q参数为ll参数,可按需添加t参数设置地图类型
const mapUrl = `https://maps.google.com/maps?ll=${loc}&z=12&output=embed&t=m`;
mapIframe.src = mapUrl;
mapContainer.style.display = 'block';

额外说明:

  • t=m是可选参数,代表标准地图;你也可以换成t=k(卫星图)、t=p(地形地图)等其他类型
  • 如果需要更精细的控制,也可以考虑使用Google Maps JavaScript API,通过自定义地图样式完全隐藏标记,但对于简单需求来说,修改URL参数已经足够

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:52:43