gpt4 book ai didi

javascript - Bing map api 适用于 PC,但不适用于移动网络应用程序

转载 作者:行者123 更新时间:2023-11-28 02:01:37 25 4
gpt4 key购买 nike

我真的希望有人能帮助解决我的问题。我构建了一个移动网络应用程序 http://ufa-ld-qa.azurewebsites.net/ (QA 网站)使用 asp.net mvc4 使用 Bing map API 来实现应用程序中的各种功能。我在使用方向模块时遇到问题。当我在我的电脑(Chrome 和 IE)上查看该网站时,它工作正常,没有看到任何错误,但在移动设备上它无法工作(但昨天我们启动质量检查时,它确实工作正常)。我已经使用 HTML5 地理定位(这可能是问题)来获取用户的位置,以允许他们获取前往某个位置的路线。我将在下面发布我的代码,如果有人可以帮助我,我将不胜感激。我们已经在大约 7 种具有不同操作系统的不同移动设备上对其进行了测试,但它无法在任何设备上运行。有谁知道这是 Bing 问题还是我下面的代码?非常感谢。

<script type="text/javascript">
var map = null;
var directionsManager = null;
var userLat = null;
var userLong = null;
var userPosition = null;
var latlng = new Microsoft.Maps.Location(@Model.latitude, @Model.longitude);
navigator.geolocation.getCurrentPosition(locationHandler);

function locationHandler(position)
{

userPosition = new Microsoft.Maps.Location(position.coords.latitude, position.coords.longitude);
}
function GetMap() {

// Initialize the map
map = new Microsoft.Maps.Map(document.getElementById("map"), { credentials: "Au_7giL-8dUbFkJ8zLjcQKy4dV2ftPfpMxQ0_sVBksoj4Y-1nBT00Z1oqUIU894_",
mapTypeId: Microsoft.Maps.MapTypeId.road});
Microsoft.Maps.loadModule('Microsoft.Maps.Directions', { callback: directionsModuleLoaded });


}
function directionsModuleLoaded() {
// Initialize the DirectionsManager
directionsManager = new Microsoft.Maps.Directions.DirectionsManager(map);

// Create start and end waypoints
var startWaypoint = new Microsoft.Maps.Directions.Waypoint({ location: userPosition });
var endWaypoint = new Microsoft.Maps.Directions.Waypoint({ location: latlng });

directionsManager.addWaypoint(startWaypoint);
directionsManager.addWaypoint(endWaypoint);


// Set request options
directionsManager.setRequestOptions({ routeMode: Microsoft.Maps.Directions.RouteMode.driving });

// Set the render options
directionsManager.setRenderOptions({
itineraryContainer: document.getElementById('directionPanel'),
displayWalkingWarning: false,
walkingPolylineOptions: { strokeColor: new Microsoft.Maps.Color(200, 0, 255, 0) },
});


// Specify a handler for when an error occurs
Microsoft.Maps.Events.addHandler(directionsManager, 'directionsError', displayError);

// Calculate directions, which displays a route on the map
directionsManager.calculateDirections();



}

function displayError(e) {
// Display the error message
alert(e.message);


}




</script>

最佳答案

有几件事需要尝试。首先确保您的应用程序有权访问用户位置。大多数移动平台要求您在 list 中标记应用程序需要访问 GPS。另一件需要考虑的事情是,在调用方向管理器的回调之前,可能未填充 userLocation。移动设备上的 GPS 可能需要稍长的时间才能找到用户位置,因此在设置用户位置之前会触发加载的方向函数,从而传递一个空的开始。您可能会发现有一个标志来指示方向管理器已加载,并且有一个简单的函数,该函数在设置标志后运行,并且在设置使用位置后运行,以检查方向管理器是否已加载以及用户位置是否已加载,这很有用。设置然后调用您的路线加载函数。

关于javascript - Bing map api 适用于 PC,但不适用于移动网络应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18368587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com