1

У меня есть следующий код, чтобы нарисовать карту и оживить камеру в моем текущем местоположении, она работает правильно, только когда я ставлю точный lat & long (точные цифры), но мне нужно передать текущее местоположение пользователя где бы он ни был это, так что мне нужно знать, как передать текущее местоположение пользователя на этомКордова google maps plugin

var map; 
document.addEventListener("deviceready", function() { 
    var div = document.getElementById("map_canvas"); 

    // Initialize the map view 
    map = plugin.google.maps.Map.getMap(div); 

    // Wait until the map is ready status. 
    map.addEventListener(plugin.google.maps.event.MAP_READY, onMapReady); 
}, false); 


function onMapReady() { 
    // Move to the position with animation 
    map.animateCamera({ 
    target: {lat: 30.1234567, lng: 31.1234567}, 
    zoom: 17, 
    tilt: 60, 
    bearing: 140, 
    duration: 5000 
    }, function() { 

    // Add a maker 
    map.addMarker({ 
     position: {lat: 30.1234567, lng: 31.1234567}, 
     title: "Welecome to \n" + 
      "Cordova GoogleMaps plugin for iOS and Android", 
     snippet: "This plugin is awesome!", 
     animation: plugin.google.maps.Animation.BOUNCE 
    }, function(marker) { 

     // Show the info window 
     marker.showInfoWindow(); 

     // Catch the click event 
     marker.on(plugin.google.maps.event.INFO_CLICK, function() { 

     // To do something... 
     alert("Hello world!"); 

     }); 
    }); 
    }); 
} 

ответ

0

проверить на tutorial. Используйте cordova-geolocation-plugin или Cordova Background Geolocation, он работает намного стабильнее и имеет намного больше функций. Вы можете передать результаты обратно в плагин карт.

var onSuccess = function(location) { 
    var msg = ["Current your location:\n", 
    "latitude:" + location.latLng.lat, 
    "longitude:" + location.latLng.lng, 
    "speed:" + location.speed, 
    "time:" + location.time, 
    "bearing:" + location.bearing].join("\n"); 

    map.addMarker({ 
    'position': location.latLng, 
    'title': msg 
    }, function(marker) { 
    marker.showInfoWindow(); 
    }); 
}; 

var onError = function(msg) { 
    alert("error: " + msg); 
}; 
map.getMyLocation(onSuccess, onError); 

Вы также можете выполнить код, приведенный в этом SO post.