我有这张地图:
.... 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
是什么
关于这个问题的任何想法?
答案 0 :(得分:0)
有不同的问题。
第一个,它将阻止代码执行:你的iinitialize-function没有返回值,所以你的maps
- 变量是未定义的,并且没有方法{{1} }。
稍后:changePosition必须包含参数changePosition
和z
,但在函数内部您可以访问变量y
和x
但是,我没有看到任何修改y
和x
的代码,因此即使代码有效,它也没有任何明显的效果。
y