不显示带有本地json文件数据的谷歌地图脚本
Google Map script with local json file data not displaying
我正在尝试在地图上显示一些json标记。
地图实际上出现了,但没有显示任何指针,地图的位置也偏离了
这是js代码:
<script>
$('#map_canvas').gmap().bind('init', function() {
// This URL won't work on your localhost, so you need to change it
// see http://en.wikipedia.org/wiki/Same_origin_policy
$.getJSON( 'locations.json', function(data) {
$.each( data.markers, function(i, marker) {
$('#map_canvas').gmap('addMarker', {
'position': new google.maps.LatLng(marker.latitude, marker.longitude),
'bounds': true
}).click(function() {
$('#map_canvas').gmap('openInfoWindow', {'content': marker.content }, this);
});
});
});
});
</script>
这里是json文件的内容:
{"locations":[{"id":"14","location":"(50.8765125,
-1.1504182944499557)"}]}
代码有什么问题吗?
根据json
文件的结构,我认为您正在尝试访问data.markers
中每个项的未定义属性。locations
是具有两个属性的对象数组:id
是String
,locations
是长度为2的array
。那么为什么要使用这个代码呢?
marker.latitude
marker.longitude
marker.content
也许你应该试试
marker.location[0]
marker.location[1]
首先,您应该确认您的json输出:
$.getJSON( 'locations.json', function(data) {
console.log(data);
}
把它贴在你的问题上。。。
如果可以的话,试试这样:
$.each( data.markers, function(i, marker) {
$('#map_canvas').gmap('addMarker', {
'position': new google.maps.LatLng(marker.location[0], marker.location[1]),
'bounds': true
}).click(function() {
$('#map_canvas').gmap('openInfoWindow', {'content': marker.id }, this);
});
});
事实上,我不知道为什么你也使用data.marker
而不是data.locations
相关文章:
- 如何使用.log数据文件显示EXT-js网格
- 如何在javascript中使用会话特定的数据文件
- 数据文件出现 D3 错误
- HTML 对象数据文件(如果未找到)
- 在 JSFiddle 中链接外部 JSON 数据文件
- 如何从 SDK 插件数据文件夹加载 DLL
- 使用 jquery 从 json 数据文件动态填充选择元素
- 节点模块包括数据文件作为全局变量
- 如何获取 HTML 标记的“数据文件”属性的内容
- 在 d3.js 散点文件中使用数据数组而不是外部数据文件
- 我用PHP调用的数据文件神秘地被更改了.用户是否覆盖了它
- 从数据文件导入数组
- 谷歌驱动器API应用程序数据文件夹,是真的那么困难
- XML数据文件已更改,但更改不会;t出现在gmaps中的html页面上
- 大文件(超过~2Mb)上传-引发错误“;键'数据文件'在<MultiValueDict:{}>
- 将数据文件转换为blob
- 如何使用链接检索整个数据文件(ajax?)
- firefox(9),javascript,由于大数据文件导致分配大小溢出.有什么办法可以避免这种情况吗
- 我们可以在json数据文件中添加图像,并使用D3.js在页面上调用它
- IANA (Internet Assigned Numbers Authority)数据文件和来自www.timeand