Javascript Cordova设备就绪初始化谷歌地图
我在谷歌地图上有这个Javascript Cordova设备就绪初始化谷歌地图,javascript,android,cordova,google-maps-api-3,Javascript,Android,Cordova,Google Maps Api 3,我在谷歌地图上有这个Javascript代码,带有geolocation和direction,我在cordova中使用它,它给我带来了问题,因为它缺少事件devicerady 我试着把它放进去,但它不起作用 您是否能够以正确的方式添加它? 代码: var directionsDisplay; var directionsService = new google.maps.DirectionsService(); var map; // default location. W
Javascript
代码,带有geolocation
和direction,我在cordova
中使用它,它给我带来了问题,因为它缺少事件devicerady
我试着把它放进去,但它不起作用
您是否能够以正确的方式添加它?
代码:
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
// default location. When geolocation tracks the client, this variable is set to that location
function initialize() {
var mapOptions = {
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
directionsDisplay = new google.maps.DirectionsRenderer();
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
//here there is marker
directionsDisplay.setMap(map);
map.setCenter(mylocation);
}
function updateRoute() {
calcRoute(mylocation);
}
function calcRoute(start) {
var start = mylocation;
var end = document.getElementById('end').value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.WALKING,
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
// Try HTML5 geolocation
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
mylocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
//document.getElementById('start').value = ;
if (map) {
calcRoute(position.coords.latitude +','+ position.coords.longitude);
map.setCenter(mylocation);
//*Posizione Utente*//
var image = 'user.png'
var marker1 = new google.maps.Marker({
position: mylocation,
map: map,
title: 'ciao!',
icon: image
});
google.maps.event.addListener(marker1, 'click', function() {
infowindow1.open(map,marker1);
});
var infowindow1 = new google.maps.InfoWindow({
content: '<img src="user.png">Sono Qui.....'
});
}
})
}
google.maps.event.addDomListener(window, 'load', initialize);
var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
//默认位置。当地理位置跟踪客户端时,此变量设置为该位置
函数初始化(){
变量映射选项={
缩放:15,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
directionsDisplay=new google.maps.DirectionsRenderer();
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
//这是记号笔
方向显示.setMap(地图);
地图设置中心(mylocation);
}
函数updateRoute(){
卡尔克劳特(mylocation);
}
功能计算器(启动){
var start=mylocation;
var end=document.getElementById('end').value;
var请求={
来源:start,
目的地:完,
travelMode:google.maps.travelMode.WALKING,
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
});
}
//试试HTML5地理定位
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
mylocation=new google.maps.LatLng(position.coords.lation,position.coords.longitude);
//document.getElementById('start')。值=;
如果(地图){
calcRoute(position.coords.latitude+','+position.coords.longitude);
地图设置中心(mylocation);
//*尤内特波西齐翁酒店*//
var image='user.png'
var marker1=新的google.maps.Marker({
位置:mylocation,
地图:地图,
标题:‘再见!’,
图标:图像
});
google.maps.event.addListener(marker1,'click',function(){
信息窗口1.打开(地图,标记1);
});
var infowindow1=新建google.maps.InfoWindow({
内容:“Sono Qui…”
});
}
})
}
google.maps.event.addDomListener(窗口“加载”,初始化);
您将onDeviceReady侦听器放在哪里了?你有什么问题?我认为您可以在收到onDeviceReady事件后启动映射初始化。我删除了有关deviceready的所有内容。没有。我不知道该怎么回答,看看这个答案。它解释了如何设置您的代码以便接收deviceready基本上您将初始化地图并在ondeviceready函数中执行您的操作cordova文档也是如此。我已经尝试使用该代码,但不起作用。链接帖子中的第二个答案应该在很大程度上回答您的问题:。但实际上这个问题仍然非常广泛,因为在Cordova中有不同的初始化map的方法,因为多个平台是集成的。