首页 文章

使用已登录的Google Map 绘制标记并保存它的问题

提问于
浏览
1

使用Maps API,在 Map click 事件中,我在Google Map 上绘制了一个标记 . 然后我在标记本身上附加一个 click 事件以打开一个infoWindow,这将允许用户将该位置保存为Google Map 中的"favorite" . 这基于我发现的关于Signed-In Maps.的文档

In my example,您可以看到,如果您在Google Map 上已存在的位置附近绘制标记(请尝试使用Google 's HQ), then the '保存到Google Map ' hyperlink works properly in the infoWindow. If you draw the marker on map and it is not close to a place (try the water body), the '保存到Google Map '链接不起作用,因为它仍处于非活动状态 . 注意:如果您需要要尝试此操作,您必须登录Google帐户 .

为什么是这样?我找不到合适的答案 . support documentation指出:

在 Map 上单击或搜索地点 . 这可以是商家,地点或一组纬度和经度坐标 .

在 Map click 事件中,我基本上传递了一对lat&lng坐标 . 所以它不应该在 Map 上的任何地方工作,无论我点击哪里?

以下是 Map 点击事件的代码:

google.maps.event.addListener(map, 'click', function (event) {
    var marker = new google.maps.Marker({
        map: map,
        place: {
            location: {
                lat: event.latLng.lat(), // Capture lat on click event
                lng: event.latLng.lng()  // Capture lng on click event
            },
            query: 'Google, Sydney, Australia'

        },
        attribution: {
            source: 'Google Maps JavaScript API',
            webUrl: 'https://developers.google.com/maps/'
        }
    });

    var infoWindow = new google.maps.InfoWindow({
        content: 'This is a test.'
    });

    marker.addListener('click', function () {
        infoWindow.open(map, marker);
    });
});

1 回答

  • 1

    这是设计的 . 相关文件是here . 注意它说:

    用于搜索位置附近位置的查询字符串

    (强调我的)

    换句话说,要求查询字符串解析为接近location参数的点 . 目的是确保用户不被误导以保存实际上远离标记放置在 Map 上的位置的地方 .

相关问题