0

我们正在尝试构建一个允许用户查看其当前位置周围的地方的应用程序。

您可以在这里看到 Google Maps API 和 Google Places Library 的功能,但不是一个: http: //www.blazingsasquatch.com/geo/index4.html

您会注意到“显示我的位置”按钮会拉出您当前的位置,并且地图会显示波士顿的任意位置以及附近的位置。

我们已经为经度和纬度创建了变量,并尝试将这些变量直接传递到“pyrmont”位置变量中,但我们没有运气。

最初我们尝试使用以下方法设置“pyrmont”位置,但也没有成功:google.maps.LatLng(position.coords.latitude, position.coords.longitude);

那么我们如何才能获得当前位置呢?

var pyrmont = new google.maps.LatLng("当前位置");

它只接受变量还是整数?

4

2 回答 2

0

LatLng 构造函数采用两个浮点数,如下所示:

pos = new google.maps.LatLng(-34.397, 150.644);

查看源代码后,问题似乎是另一个问题:您传递给getCurrentPosition()的匿名回调函数在找到地理位置时被调用,这可能需要一些时间(尤其是使用 GPS 等)。在页面加载时调用initialize() ,这会更快,因此此时没有设置位置(此外,它在initialize() 中不可见,因为它不是全局变量,但没关系)。因此,您必须将您当前在initialize()中执行的操作移动到您传递给getCurrentPosition()的回调函数中。然后,您可以使用

var pyrmont = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
于 2012-03-04T07:28:47.103 回答
0

initialize 将在 的回调之前调用navigator.geolocation.getCurrentPosition(),因此您不能在 initialize() 中使用结果。(您可以将 getCurrentPosition 视为异步请求)

在的回调中调用操作(创建标记和放置请求)getCurrentPosition()

查看工作演示:http: //jsfiddle.net/doktormolle/C5ZtK/

于 2012-03-04T09:42:08.680 回答