我有一张 map ,我试图从数据库中提取标记点,并创建一个数组,然后使用该数组绘制 map 上的每个纬度和经度点。现在我在这里尝试了一些东西,但是每当我测试它时,我只会在 map 上得到一个点,就像在亚洲一样,而实际上经度和纬度指向宾夕法尼亚州。我认为它只是将所有信息打包到数组中并尝试绘制,但我不确定。真的被困在这里任何帮助将不胜感激。
<script type="text/javascript">
$(function () {
var arraddress = new Array();
$.ajax({
url: 'http://example.com/22/www/ba.php',
data: '',
dataType: 'json',
success: function (data) {
$.each(data, function (key, val) {
var lng = val['lng'];
var lat = val['lat'];
var id = val['id'];
var state = val['state'];
arraddress[key] = lat + ":" + lng + ":" + state + ":" + id;
//Set up the map
var APIKEY = "ed24c9065bb55c1090d3d76e7ab8577e";
var cloudmade = new CM.Tiles.CloudMade.Web({
key: APIKEY
});
var map = new CM.Map('mapdiv', cloudmade);
map.setCenter(new CM.LatLng(39.9, -98.5), 4);
//Add the markers from the array
var arLen = arraddress.length;
for (var i = 0, len = arLen; i < len; ++i) {
var onMarker = arraddress[i];
var dat = arraddress[i].split(":");
var mlat = dat[0];
var mlon = dat[1];
var mName = dat[2];
var thisMarker = new CM.Marker(new CM.LatLng(mlon, mlat), {
title: state
})
map.addOverlay(thisMarker);
}
})
}
});
});
}
</script>
最佳答案
Constructor
CM.LatLng( latitude, longtitude, unbounded?)Description
Creates an CM.LatLng object (notice that latitude comes first). By default, longtitude is wrapped to lie between -180 and 180, and latitude is clamped to lie between ~-85 and 85. If unbounded set to true, it leaves lat./long. as i
纬度在构造函数中排在第一位,但您已编码:
new CM.LatLng(mlon, mlat)
这可能是错误的方式。
此外,您还在每次调用上执行大量设置代码,这将为数组中的每个元素触发。在之后执行“设置 map ”代码是有意义的
success: function (data) {
但是之前
$.each(data, function (key, val) {
编辑
再次查看您的代码,如果我没读错,您可以将其成功功能剥离为
success: function (data) {
var APIKEY = "ANONYMISED_KEY";
var cloudmade = new CM.Tiles.CloudMade.Web({
key: APIKEY
});
var map = new CM.Map('mapdiv', cloudmade);
map.setCenter(new CM.LatLng(39.9, -98.5), 4);
$.each(data, function (key, val) {
map.addOverlay(
new CM.Marker(new CM.LatLng(val['lng'], val['lat']), {
title: val['state']
}));
})
}
并且您可能希望在发布代码时匿名化您的 API key 。
关于javascript - 从数据库中的ajax结果创建Javascript数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9912416/