Json 使用$从对象添加地图标记。每个标记不';行不通
这是我的密码。如果我使用loadGeoJson,它会显示标记。如果我使用$.getJSON将数据加载到一个对象,然后逐步添加每个标记,那么我看不到任何标记。我确实看到所有的名称都显示在“pList”div中,所以我知道它正确地循环并正确地访问对象的属性。我错过了什么Json 使用$从对象添加地图标记。每个标记不';行不通,json,google-maps-api-3,google-maps-markers,each,Json,Google Maps Api 3,Google Maps Markers,Each,这是我的密码。如果我使用loadGeoJson,它会显示标记。如果我使用$.getJSON将数据加载到一个对象,然后逐步添加每个标记,那么我看不到任何标记。我确实看到所有的名称都显示在“pList”div中,所以我知道它正确地循环并正确地访问对象的属性。我错过了什么 var map; function initialize() { var mapOptions = { zoom: 8, center: new google.maps.LatLng(-34.397, 150.6
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
$.getJSON( "data.json", function( data ) {
participants = data.features;
}).done(function(){
$.each( participants, function(i, p){
$('#pList').append('<div>' + p.properties.name + '</div>');
marker = new google.maps.Marker({
position: new google.maps.LatLng (p.geometry.coordinates[0], p.geometry.coordinates[1]),
map: map,
title: p.properties.name
});
});
//map.data.loadGeoJson('data.json');
});
var映射;
函数初始化(){
变量映射选项={
缩放:8,
中心:新google.maps.LatLng(-34.397150.644)
};
map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
$.getJSON(“data.json”),函数(数据){
参与者=数据。特征;
}).done(函数(){
$。每个(参与者,功能(i,p){
$('#pList').append(''+p.properties.name+'');
marker=新的google.maps.marker({
位置:new google.maps.LatLng(p.geometry.coordinates[0],p.geometry.coordinates[1]),
地图:地图,
标题:p.properties.name
});
});
//map.data.loadGeoJson('data.json');
});
必须切换标记位置的参数
在geoJSON中,点几何体的第一项是经度,第二项是纬度,但agoogle.maps.LatLng
要求顺序为1。纬度2。经度
当前,当p.geometry.coordinates[1]
在-85,85
范围内时,您的代码将仅绘制一个标记(但不在所需位置),因为这是纬度的有效范围
marker = new google.maps.Marker({
position: new google.maps.LatLng (p.geometry.coordinates[1],
p.geometry.coordinates[0]),
map: map,
title: p.properties.name
});
当这不能解决问题时,
map
-变量显然无法在done
-回调中访问 其余的代码是什么样子的?“地图”在哪里定义?它在JSON数据返回之前存在吗?抱歉,其余代码与API中的示例相同。是,map是先前声明的。如果需要的话,我可以在周一发布完整的代码…很好地抓住了coords,但是我如何才能在回调中访问map?这取决于其他代码,目前您还没有发布创建map的位置/方式。您可以立即运行$.getJSON
(在初始化之前),在调用initialize
之前获得结果时,尚未创建映射。将调用$.getJSON
移动到初始化