2013-03-13 3 views
0

예를 들어 json url을 처리합니다. 20 개 마커/다음 코드로 adresses :gmap 마커를 만드는 동안 lat & lon NULLS를 무시하는 방법

a1_lata1_lng 1 이상 adresses에 대한 비어
$.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() 

은 GMAP 내 스케일링 유적 적도 위치에 마커를 넣습니다.

질문; 내 코드에서 빈 lat lng 값을 무시하는 방법?

+0

당신이, 당신은 빈 문자열을 의미 빈 null 또는 정의되지 않은 말 :

나는 보통이 (테스트하지) 같은 것을 확인

, 그것은 잘못된 데이터가 해결 될 수 있도록 경고를 추가? 어쨌든, 루프 안의'if'는 도움이 될 것입니다 ... – Tallmaris

답변

2

최상의 솔루션은 데이터 소스 (데이터베이스?)에서 불량 데이터를 제거하는 것입니다.

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() {});  
} 
+0

thanks; 매력처럼 작동합니다. –

2

반복 기능 내에서 테스트로 if (m.a1_lat && m.a1_lng)을 추가하십시오. lat 또는 lng가 null 인 경우 마커가 작성되지 않습니다.

관련 문제