我正在使用Google Maps Javascript Directions API开发Cordova应用程序。 Cordova谷歌地图插件不支持Directions API,因此Javascript是我最后的手段,以使该功能正常工作。
我已经尝试过v = 3,v = 3.exp,没有任何v,但没有结果。
此外,它没有任何区别,无论我是否包含iOS,Android或Web-API密钥的脚本,都没有变化。
我从Google的开发者文档中获取了演示,所有这些都在Web上完美运行,但在我的Cordova应用程序中没有使用javascript :(
googlemaps.com中包含的Javascript崩溃了:
TypeError: undefined is not an object (evaluating 'd.defaultView')in common.js 3140:
if (d.defaultView && d.defaultView.getComputedStyle && (d = d.defaultView.getComputedStyle(c, null))) {
d = d.position || d.getPropertyValue("position") || "";
break a
}
此代码在网络上完美运行,但不在Cordova应用程序中运行:
<div id="map" style="width: 500px; height:500px;"></div>
<script>
function initMap() {
var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer;
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 14,
center: {
lat: 48.2265,
lng: 12.6758
}
});
directionsDisplay.setMap(map);
directionsService.route({
origin: 'Berlin, Germany',
destination: 'Vienna, Austria',
travelMode: 'WALKING',
waypoints: [{
location: {
lat: 51.339696,
lng: 12.373075
},
stopover: true
}, {
location: {
lat: 50.075538,
lng: 14.4378
},
stopover: true
}, {
location: {
lat: 48.30694,
lng: 14.28583
},
stopover: true
}]
}, function(response, status) {
if (status === 'OK') {
directionsDisplay.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>