javascript - 谷歌地图标记数据

标签 javascript jquery ajax google-maps

我目前正在对服务器进行 ajax 调用,以获取要在谷歌地图上显示的纬度/经度列表。我也为每个标记附加了一个“点击”事件。诀窍是我需要能够将一些额外数据存储到标记中,以了解我正在处理的 ID(来自数据库),以便稍后将其匹配回数据库。我正在使用 Title 属性来显示一些友好的信息。 AJAX、标记创建和点击事件工作正常。为标记存储额外数据的正确方法是什么?在这里查看代码:

$.ajax({
    url: "/location/NearbyHotspots",
    data: {
        lat: marker.position.lat(),
        lng: marker.position.lng(),
        radius: 10
    },
    datatype: "json",
    type: "POST",
    success: function (data, status, xhttp) {
        for (var i = 0; i < data.length; i++) {
            var loc = new google.maps.LatLng(data[i].Lat, data[i].Long);
            var newmarker = new google.maps.Marker({
                position: loc,
                draggable: false,
                map: map,
                title: data[i].Name
            });

            // This doesn't seem to work
            newmarker.hotspotid = data[i].ID;
            google.maps.event.addListener(newmarker, "click", function(mark) {
                alert(mark.hotspotid);
            });
        }
    },
    error: function (jqXHR, textStatus, errorThrown) {
        alert(textStatus);
    }
});

最佳答案

哈!我想到了。 “这个”做到了!

google.maps.event.addListener(newmarker, "click", function(mark) {
    alert(this.hotspotid);
});  

关于javascript - 谷歌地图标记数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7393988/

相关文章:

javascript - 如何使用 pidCrypt 进行 AES CBC 加密,然后使用 phpseclib 解密?

javascript - 是否有可能从 getImageData 中获取超过 8 位的颜色值?

jquery - 等待 Ajax 函数完成后再开始新的函数

javascript - 全局设置来自 ajax 请求的 javascript 变量?

javascript - GET 请求中的“_”参数

javascript - 如何将JS变量存储到数据库中

javascript - 如何从AJAX html请求中获取cookie

javascript - 将函数附加到 before.jstree

javascript - jQuery 在一行而不是表行中检索结果

javascript - POST 后 PHP 中对象的值与通过 Ajax 发送的值不匹配?