0

我正在尝试向我的谷歌地图添加一个标记,但我无法让它出现。

我正在调用一个函数,createMarkers(x, y)并从一个 aspx 页面传入两个字符串。

这是 createMarkers 函数:

function createMarkers(x, y) {

var latlng = new google.maps.LatLng(x, y);
console.log(latlng);

var marker = new google.maps.Marker({
    position: latlng,
    map: map,
    title: "User location"
}); 

};

标记不会出现在地图上,并且不会将错误打印到控制台中。

我已将变量记录latlng到控制台以进行检查,这就是它显示的内容:

O
ab: 51.486091
cb: -0.05983800000001338
__proto__: O

我在这里查看了关于 Markers 的谷歌文档,我得到的代码看起来足够好用。

最后一件事,我还尝试将坐标直接添加到 latlng 变量,而不是使用我的 x 和 y 参数。这也不起作用。

我想我错过了一些非常明显的东西。一如既往的任何帮助将不胜感激!

JA

4

2 回答 2

0

该功能应该可以工作。

假设地图变量可用并指向地图对象:

向地图添加标记不会将地图的视口设置为包含标记,是否存在标记,但在视口之外?

尝试将其添加到末尾createMarkers()

map.setCenter(latlng);
于 2012-06-17T23:54:53.500 回答
0

这些是我用来渲染地图和添加标记的函数:

function renderMap(mapContainer) {
    var mapOptions = {
            zoom: 4,
            center: new google.maps.LatLng(43.645004, -79.380707),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
    window.map = new google.maps.Map(mapContainer, mapOptions);
}

function addMarkerToMap(lat, long, titleText) {
    new google.maps.Marker({
        title: titleText,
        map: map,
        position: new google.maps.LatLng(lat, long)
    });
}   
于 2012-06-17T22:19:04.920 回答