[英]how to ignore lat&lon NULLS while creating gmap markers
我用以下代码处理带有20个标记/地址的json网址:
$.getJSON( jsonurl, function(data) {
$.each( data.rows, function(i, m) {
$('#map_canvas').gmap('addMarker',
{ 'icon': new google.maps.MarkerImage(m.a1_gifscan),
'position': new google.maps.LatLng(m.a1_lat, m.a1_lng),
'bounds':true }).click(function()
当a1_lat
和a1_lng
对于1个或多个地址为空时,gmap将一个标记置于赤道位置,这会破坏我的缩放比例。
题; 如何忽略我的代码中的空lat lng值?
将if (m.a1_lat && m.a1_lng)
添加为迭代函数中的测试。 如果lat或lng为null,则将阻止创建标记。
最好的解决方案是从数据源(数据库?)中删除不良数据。
我通常检查类似这样的内容(未经测试),它会添加警报,以便可以解决错误的数据:
var lat,lng;
if ((isNaN(lat=parseFloat(m.a1_lat))) ||
(isNaN(lng=parseFloat(m.a1_lng)))) {
alert("bad point:"+lat+","+lng);
} else {
var point = new google.maps.LatLng(lat,lng);
$('#map_canvas').gmap('addMarker',
{ 'icon': new google.maps.MarkerImage(m.a1_gifscan),
'position': new google.maps.LatLng(m.a1_lat, m.a1_lng),
'bounds':true }).click(function() {});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.