2017-10-10 33 views
-1

は表示できません。私は、これは私のコードGoogleマップのAPIはJSONとマーカー(V3)

<script type="text/javascript"> 
    var map; 

    var national = [{"lng":"-6.173319","city":"JAKARTA","lat":"106.818672"}]; 

    function initialize() { 
    var mapOptions = { 
     center: new google.maps.LatLng(-0.789275,113.921327), 
     zoom: 5, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var infoWindow = new google.maps.InfoWindow(); 
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

    $.getJSON('json_city.json', function(data) { 
    $.each(data.national, function(index, item) { 
     var myLatlng = new google.maps.LatLng(item.lat, item.lng); 
     alert(myLatlng); 
     var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     title: "text "+item.city 
     }); 
    }); 
    }); 

    // Initialize the map 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 

</script> 

緯度と長い使用される文字の種類(テキスト)でJSONと使用するデータベースのPostgreSQL

でGoogleマップを作成しました。私の地図は表示できますが、私のマーカーは表示されません。

+1

あなたには「国民」変数があります。 'lat'と' lng'は後方にあります( '' lat ":" -6.173319 "、" lng ":" 106.818672 "')。 ([fiddle](http://jsfiddle.net/geocodezip/f3rwcdyd/)) – geocodezip

+0

訂正@geocodezip –

答えて

0

Google Mapsでは、LatLngコンストラクタの座標は文字列ではなくNumbersにする必要があります。試してみてください:

var myLatlng = new google.maps.LatLng(parseFloat(item.lat), parseFloat(item.lng)); 
+0

私は試しましたが、うまくいきませんでした。 私はconsole.log( "item.lat")でチェックしました。とconsole.log( "item.lng");私のGoogle Chromeはログを表示できません。 @duncan –

+0

'data.national'はどのように見えますか? JSの上に 'var national'をハードコーディングしましたが、使われません。 – duncan

関連する問題