Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cordova设备就绪初始化谷歌地图_Javascript_Android_Cordova_Google Maps Api 3 - Fatal编程技术网

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的方法,因为多个平台是集成的。