【发布时间】:2015-06-29 23:29:00
【问题描述】:
考虑到下面的代码,我尝试在控制台中打印解析数组的长度并且该过程正常工作,现在即使我已经有了添加通过 js 代码中加载的 json 文件解析的信息的数组,我无法在地图内显示标记数组
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(41.90832, 12.52407)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
var xmlhttp = new XMLHttpRequest();
var url = "json/prova.json";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
for(i = 0; i < arr.length; i++) {
out += "<tr><td>" +
arr[i].title +
"</td><td>" +
arr[i].latitude +
"</td><td>" +
arr[i].longitude +
"</td></tr>"
;
//console.log(arr.length);
}
out += "</table>"
// document.getElementById("map-canvas").innerHTML = out;
}
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<script src="http://maps.google.com/maps/api/js?signed_in=true&key=AIzaSyD3Xz7-z7U_XzZiaOlx9khhtFSld8vd0k4"></script>
<script src="js/prova_simple.js"></script>
</head>
<body>
<h1>Customers</h1>
<div id="map-canvas"></div>
</body>
</html>
【问题讨论】:
-
您能否提供示例 JSON 和代码 sn-p(Minimal, Complete, Tested and Readable example),可以在没有 javascript 错误的情况下工作(或至少演示问题)
-
[ { "title": "Coop.Sociale Prassi e Ricerca Onlus", "latitude": 41.9114145, "longitude": 12.524204 }, { "title": "Astronave", "latitude": 41.912333,“经度”:12.525531 },{“标题”:“卡萨”,“纬度”:41.877719,“经度”:12.558317 }]
-
我已经测试了 json 文件并且它可以工作
-
您没有尝试在代码中创建任何标记
-
你说得对,事实是我不知道在哪里尝试创建它
标签: javascript ajax json google-maps-api-3