Javascript 刷新Google地图会阻止添加标记
在“刷新”我的谷歌地图后,我无法自己(单击)放置在标记中。但在刷新我的地图(使用初始化地图)之前,我可以通过单击来放置标记。我可以知道密码有什么问题吗 下面是我的代码Javascript 刷新Google地图会阻止添加标记,javascript,function,Javascript,Function,在“刷新”我的谷歌地图后,我无法自己(单击)放置在标记中。但在刷新我的地图(使用初始化地图)之前,我可以通过单击来放置标记。我可以知道密码有什么问题吗 下面是我的代码 //Initialize the map function initialize() { var myLatlng = new google.maps.LatLng(2,110); var myOptions = { zoom: 3, center: myLatlng,
//Initialize the map
function initialize() {
var myLatlng = new google.maps.LatLng(2,110);
var myOptions = {
zoom: 3,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
infowindow = new google.maps.InfoWindow({
content: "loading..."
});
}
// Listen for click for markers
function marker()
{
google.maps.event.addListener(map, 'click', function(event) {
addMarker(event.latLng);
});
}
// Place markers in by click
function addMarker(location) {
marker = new google.maps.Marker({
position: location,
map: map,
title:"Specified Location",
icon: 'images/greenPoint.png'
});
markersArray.push(marker);
}
function refreshMap()
{
var myLatlng = new google.maps.LatLng(1.1,107);
var myOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
如果我正确理解了您的问题,那么您是说在调用
refreshMap
函数后,您的映射不起作用。对我来说,这听起来像是一个范围问题,map
变量第二次在不同的范围内。试着用这句话:
var map = null;
在文件的最顶端,确保所有的
map
引用都指向同一个全局map
变量。首先为什么要创建一个新的google.maps.map对象?您应该这样做:
function refreshMap()
{
var myLatlng = new google.maps.LatLng(1.1,107);
var myOptions = {
zoom: 4,
center: myLatlng,
};
map.setOptions(myOptions);
}
使用
markersArray
您应该能够使用以下方法清除地图:
函数clearOverlays(){
对于(var i=0;ifunction clearOverlays() {
for (var i = 0; i < markersArray.length; i++ ) {
markersArray[i].setMap(null);
}
markersArray = [];
}