Json 在谷歌地图上解析数据
我试图将一个json文件中的纬度和经度解析到GoogleMap上,并将其他一些数据解析到信息窗口中。然而,我想我可能在某个地方搞砸了,因为当我试图运行该文件时,我得到的只是一个空白屏幕。有人能指出我做错了什么吗。如有任何建议,将不胜感激 我使用谷歌创建的地震数据作为我的参考点Json 在谷歌地图上解析数据,json,google-maps,parsing,google-maps-api-3,coordinates,Json,Google Maps,Parsing,Google Maps Api 3,Coordinates,我试图将一个json文件中的纬度和经度解析到GoogleMap上,并将其他一些数据解析到信息窗口中。然而,我想我可能在某个地方搞砸了,因为当我试图运行该文件时,我得到的只是一个空白屏幕。有人能指出我做错了什么吗。如有任何建议,将不胜感激 我使用谷歌创建的地震数据作为我的参考点 > window.eqfeed_callback = function(results) { var bounds=new google.maps.LatLngBounds(); for
> window.eqfeed_callback = function(results) {
var bounds=new google.maps.LatLngBounds();
for (var i = 0; i < results.features.length; i++) {
var accesspoint = results.features[i];
var latitude = accesspoint.3.WifiLatitude;
var longtitude = accesspoint.4.WifiLongtitude;
var latLng = new google.maps.LatLng(latitude &&longtitude);
bounds.extend(latLng);
var content ="<div style='height:100px; width:300px; overflow:auto;'><table>";
content += "<tr><th align='left'>id</th><td>"+accesspoint.id+"</td></tr>";
content += "<tr><th align='left'>WifiMacAddress</th><td>"+accesspoint.4.WifiMacAddress+"</td></tr>";
content += "<tr><th align='left'>WifiSSID</th><td>"+accesspoint.4.WifiSSID+"</td></tr>";
content += "<tr><th align='left'>WifiFrequency</th><td>"+accesspoint.4.WifiFrequency+"</td></tr>";
content += "<tr><th align='left'>SignalStrength</th><td>"+accesspoint.4.SignalStrength+"</td></tr>";
content +="</table>";
createMarker(latLng,earthquake.id,content);
a以两个数字作为参数。这是不正确的:
var latLng = new google.maps.LatLng(latitude &&longtitude);
应该是
var latLng = new google.maps.LatLng(latitude , longtitude);
更安全的是:
var latLng = new google.maps.LatLng(parseFloat(latitude), parseFloat(longtitude));
由于来自JSON,它们都是字符串。您甚至可以通过在使用“isNaN”构建google.maps.LatLng之前测试它们来验证它们是否有效 根据你的建议,我做了各种修改。虽然市场还没有开始策划,但地图终于回来了。为了简化整个测试过程,我将json文件缩减为一部分<代码>var wifin=结果.特征[i];变量纬度=wifin.WifiLatitude;var Longtudent=wifin.wifilongtude;var latLng=new google.maps.latLng(parseFloat(纬度)、parseFloat(长纬度));边界扩展(latLng);map.fitBounds(bounds);}代码>json文件如下所示:{code>{“wifin”:{“WifiMacAddress”:21-00-00-00-00,“WifiSSID”:bigpond21313,“WifiLatitude”:[-27.501008],“wifilongtuide”:[153.011720],“WifiFrequency”:“80”,“SignalStrength”:“60”}您的createMarker函数看起来像什么?您遇到了哪些javascript错误?您能提供一个JSFIDLE吗(或指向实时地图的链接)显示问题?
函数createMarker(latLng,title,content){var marker=new google.maps.marker({position:latLng,map:map,title:title});
我弄错了。有一个java错误未捕获的语法错误:意外标记:
指向我的json文件。你最好在你的问题中添加createMarker函数(这样它的格式可以更容易阅读),而不是放在注释中。(javascript不是java)错误意味着您的JSON无效,您需要在加载和显示标记之前修复该错误。
var latLng = new google.maps.LatLng(parseFloat(latitude), parseFloat(longtitude));