我们正在尝试构建一个允许用户查看当前位置周围位置的应用。
您可以看到Google Maps API& Google商家信息库在此处运作,但不是一个:http://www.blazingsasquatch.com/geo/index4.html
您会注意到“显示我的位置”按钮会拉出您当前的位置,地图会显示波士顿附近的任意位置。
我们已经为经度和纬度创建了变量,我们试图将这些变量直接传递到“pyrmont”位置变量,但我们没有运气。
最初我们尝试使用以下设置“pyrmont”位置,也没有运气: google.maps.LatLng(position.coords.latitude,position.coords.longitude);
那么我们如何才能填充当前位置?
var pyrmont = new google.maps.LatLng(“CURRENT LOCATION HERE”);
它只接受变量或整数吗?
答案 0 :(得分: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);
答案 1 :(得分:0)
初始化将在navigator.geolocation.getCurrentPosition()
的回调之前调用,因此你不能在initialize()中使用结果。(你可以将getCurrentPosition视为异步请求)
在getCurrentPosition()