谷歌地图Api无法使用Json(v3)显示标记

时间:2017-10-10 09:29:58

标签: javascript json google-maps google-maps-api-3

我使用Json创建了Google地图并使用了数据库postgresql

这是我的代码

<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>

Lat和长期使用的字符类型(文本)。我的地图可以显示,但我的标记无法显示。

1 个答案:

答案 0 :(得分:0)

Google地图需要LatLng构造函数的坐标为Numbers,而不是字符串。尝试:

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