Javascript 为谷歌地图设置不同的内容不起作用,内容也不会更新
我正在使用以下链接中的地图: 我更改了如下代码:Javascript 为谷歌地图设置不同的内容不起作用,内容也不会更新,javascript,jquery,google-maps,google-maps-api-3,dom-events,Javascript,Jquery,Google Maps,Google Maps Api 3,Dom Events,我正在使用以下链接中的地图: 我更改了如下代码: $(function() { demo.add(function() { $('#map_canvas').gmap({'zoom': 2, 'disableDefaultUI':true}).bind('init', function(evt, map) { var bounds = map.getBounds();
$(function() {
demo.add(function() {
$('#map_canvas').gmap({'zoom': 2, 'disableDefaultUI':true}).bind('init', function(evt, map) {
var bounds = map.getBounds();
var mark1 = "hello";
var mark2 = "bye";
var temp = mark1;
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
for (var i = 0; i < 1000; i++) {
if(i % 2===0)
{
temp=mark2;
}
else
{
temp=mark1;
}
$(this).gmap('addMarker', { 'position': new google.maps.LatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random()) } ).click(function() {
$('#map_canvas').gmap('openInfoWindow', { content : temp }, this);
});
}
$(this).gmap('set', 'MarkerClusterer', new MarkerClusterer(map, $(this).gmap('get', 'markers')));
});
}).load();
});
我还添加了以下几行:
if(i % 2===0)
{
temp=mark2;
}
else
{
temp=mark1;
}
现在我希望我看到一些标记来表示问候,一些表示再见,但它总是表示问候,而从不表示再见。如何将某些标记的内容设置为“再见”,而将某些标记的内容设置为“你好”?这对我很有用(不使用函数闭包):
感谢您的回答,可能是重复的,我看了那个链接和那里提供的代码很多,但由于我是javascript新手,而且代码相当不同,我无法适应我的代码,我理解这是闭包问题,但当我尝试适应你提供的链接中的代码时,我失去了map的集群效应,你能指导我如何用jquery解决这个问题吗我提供的代码?这不是一个非常现实的用例。你真的打算如何使用这段代码。你太棒了,你帮了我很多:)
if(i % 2===0)
{
temp=mark2;
}
else
{
temp=mark1;
}
$(this).gmap('addMarker',
{ 'position': new google.maps.LatLng(
southWest.lat() + latSpan * Math.random(),
southWest.lng() + lngSpan * Math.random()),
'content': temp
}
).click(function(i) {
$('#map_canvas').gmap('openInfoWindow', {
content : this.content }, this);
});