使用$. getjson从JSON中加载地图数据
Loading map data from JSON using $.getJSON
使用gmap3(一个jquery插件)显示谷歌地图界面。我试图从JSON文件加载我的数据,但由于某种原因,它没有执行。地图显示,addMarkers()函数正在被调用,但如果我将console.log()放在function(data)中的任何地方,它不会显示。
我对这些匿名函数有点困惑,以前没有使用过异步函数。如有任何建议,不胜感激。
Javascript$(document).ready(function(){
displayMap();
addMarkers();
});
// Create map with options
function displayMap(){
$('#map_canvas').gmap3({
map: {
options: mapOptions
}
});
};
// Load data and add markers for each data point
function addMarkers(){
$.getJSON( dataURL, function(data) {
$.each( data.markers, function(i, marker) {
console.log( marker.lat + ':' + marker.lng + ':' + marker.data.category + ':' + marker.data.content );
})
});
};
JSON {
markers: [
{ lat:-30, lng:145, data: {title: "Le Restaurant", category:"Restaurant", content:"Some French restaurant"} },
{ lat:-30, lng:145, data: {title :"Gem Cafe", category:"Cafe", content:"They sell coffee"} },
{ lat:-30, lng:145, data: {title :"Home", category:"Home", content:"Home sweet home."} }
]
}
傻我,只是检查了我的JSON格式使用http://jsonlint.com/和发现它是畸形的。我需要将"键"名称括在引号中,像这样…
{
"markers": [
{ "lat":-30, "lng":145, "data": {"title": "Le Restaurant", "category":"Restaurant", "content":"Some French restaurant"} },
{ "lat":-30, "lng":145, "data": {"title" :"Gem Cafe", "category":"Cafe", "content":"They sell coffee"} },
{ "lat":-30, "lng":145, "data": {"title" :"Home", "category":"Home", "content":"Home sweet home."} }
]
}
相关文章:
- 谷歌地图API v3获胜't加载地图后禁用滚轮
- Google Map JS API-加载地图分幅,但所有图像(标记、缩放控制等)都不加载;t负载2分钟
- 使用Geolocation以引导模式加载地图,标记不会居中
- 谷歌地图-重新加载地图
- 如何访问已加载地图图块的源路径
- 使用自己的 JavaScript 函数加载地图图块
- 如何在平移时加载和销毁地图,而不是在加载时完全加载地图
- 谷歌地图V3绘图(谷歌示例不加载地图)
- 有人能帮我理解逻辑并修复它以加载地图吗
- AngularJS:NgMap-加载地图中心是'不受尊重
- Google maps API不加载地图
- 如何在ajax接收到数据后加载地图
- 引导自动完成不加载地图
- 使用$. getjson从JSON中加载地图数据
- 显示位置的变化在谷歌地图上没有重新加载地图一次又一次
- 地理定位:只移动谷歌地图标记,而不重新加载地图
- 从谷歌地图的URL加载地图到ExtJS GMapPanel
- 使用Google Maps API v3重新加载地图上的点
- Googlemap api v3给出了一个错误,而不是不加载地图
- 刷新/重新加载地图:谷歌地图API V2