繁体   English   中英

创建gmap标记时如何忽略lat&lon NULL

[英]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_lata1_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM