两点之间的距离谷歌地图API V3中未定义a。

4

更新至v3版本。库的声明如下:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&v=3&libraries=geometry"></script>

像这样查找距离:

var loc1 = google.maps.LatLng(52.5773139, 1.3712427);
var loc2 = google.maps.LatLng(52.4788314, 1.7577444);
alert(google.maps.geometry.spherical.computeDistanceBetween (loc1, loc2));

火狐调试工具返回以下内容:
TypeError: a is undefined

假设这是一个错误,因为纬度和经度需要作为对象传递,所以在一些搜索后我尝试了以下代码:

var loc1 = google.maps.LatLng({'position' :52.5773139, 1.3712427});
var loc2 = google.maps.LatLng({'position' :52.4788314, 1.7577444});

仍然出现相同的错误,我做错了什么?

2
google.maps.LatLng之前缺少new运算符。 - Dr.Molle
好的,当你尝试用一些谷歌搜索找到的奇怪代码时,你不会得到相同的错误。那段代码有语法错误,根本无法运行。事实上,我很想知道是哪个网站提出了这样的建议!Google对地图API有很好的文档 - 参考资料、教程和示例。文档是下一个地图API问题的绝佳起点,而不是随机搜索。你甚至可以搜索“maps api”来找到它们。 :-) - Michael Geary
如果 Google 的人真的很厉害,他们会让所有的类都能够正确实例化,无论是否使用 new。这种编码很简单并且有很好的文档记录 - Beetroot-Beetroot
1个回答

4
你应该使用关键字new来实例化LatLng对象。
var loc1 = new google.maps.LatLng(52.5773139, 1.3712427);
var loc2 = new google.maps.LatLng(52.4788314, 1.7577444);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接