如何更改google javascript maps api v3中的标记位置?

时间:2013-02-08 01:05:06

标签: javascript jquery google-maps position google-maps-markers

我有这张地图:

.... class Maps .... 

Maps.prototype.initialize = function (x, y) {
    var latitude = x;
    var longitude = y;

    var mapOptions = {
        zoom: 8,
        center: new google.maps.LatLng(latitude, longitude),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById('map_canvas'),  mapOptions);

    var marker = new google.maps.Marker({
        position: map.getCenter(),
        map: map,
        title: 'Click to zoom'
    });
};

Maps.prototype.changePosition = function (x, y) {

    var latitude = x;
    var longitude = y;

    var map = new google.maps.LatLng(latitude, longitude);
    marker.setPosition(map);
}

....

然后:

var maps = new Maps();
var marker = maps.initialize(x, y);

window.setTimeout(function() {
    maps.changePosition(x, y));
}, 3000);

initialize方法有效,并呈现地图和标记

但第二个不起作用,不知道setPosition是什么

关于这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

有不同的问题。

第一个,它将阻止代码执行:你的iinitialize-function没有返回值,所以你的maps - 变量是未定义的,并且没有方法{{1} }。

稍后:changePosition必须包含参数changePositionz,但在函数内部您可以访问变量yx

但是,我没有看到任何修改yx的代码,因此即使代码有效,它也没有任何明显的效果。


y