我在为以下函数返回latLng值时遇到了一些麻烦。
function getUserPosition() {
var latLng;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); // #1
}, function () {
latLng = defaultPosition(); // #2
}
);
} else {
latLng = defaultPosition(); // #3
}
return latLng;
}
假设defaultPosition()返回一组有效的坐标。
我已经标记了三个latLng作业,这些作业属于我最新的' catch-all'接近但仍然没有运气。
我已经检查了其他相关的答案,但仍然无法理解我的特定问题,很抱歉转发。
提前致谢。
答案 0 :(得分:1)
由于位置API的异步性质,您不能这样做,而是需要使用基于回调的方法,其中一旦locaion API返回值,就会调用回调函数。
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
If Not Page.IsPostBack Then
SampleFormWrapper.Visible = True
End If
End If
Catch exc As Exception 'Module failed to load
End Try
End Sub