Google Maps API LatLng NaN

时间:2016-02-07 16:19:58

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

我正在努力使用Google Maps JavaScript API v3。我需要创建一个具有一些特定坐标的新LatLng对象。根据{{​​3}},这应该只是诀窍:

 myLatLng = new google.maps.LatLng({lat: -34, lng: 151}); 

目前这样做只是创建了所需的对象,但其值代表NaN。所以无论我在做什么,我都无法创建一个合适的LatLng对象,甚至文档都没有帮助我。

1 个答案:

答案 0 :(得分:1)

google.maps.LatLng构造函数将两个数字作为参数,而不是google.maps.LatLngLiteral

myLatLng = new google.maps.LatLng({lat: -34, lng: 151}); 

应该是:

myLatLng = new google.maps.LatLng(-34, 151); 

在许多情况下,您可以使用google.maps.LatLng的google.maps.LatLngLiteral 代替

myLatLng = {lat: -34, lng: 151}; 

代码段

var geocoder;
var map;

function initialize() {
  var myLatLng = new google.maps.LatLng(-34, 151);
  var myLatLng2 = {
    lat: -34.05,
    lng: 151
  };
  var map = new google.maps.Map(
    document.getElementById("map_canvas"), {
      center: myLatLng,
      zoom: 11,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
  var marker = new google.maps.Marker({
    position: myLatLng2,
    map: map
  })
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>