使用angularjs的GPS和谷歌地图

时间:2016-02-04 11:16:45

标签: angularjs cordova google-maps gps ionic-framework

我使用此链接enter link description here显示了Google地图,但他总是要求我激活GPS。

我的目标是:发布(显示)地图而不激活GPS

在他出示我的职位后

我的控制员:

facebookExample.controller('carteController', function($scope,$ionicPopup,$ionicLoading,$location,$cordovaGeolocation,$compile,$http) {

$scope.init = function() {
    var options = {timeout: 10000, enableHighAccuracy: true};

          $cordovaGeolocation.getCurrentPosition(options).then(function(position){

            var latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
            console.log("langitude et latitude obtenu par google maps");
            console.log(latLng);

            var mapOptions = {
              center: latLng,
              zoom: 15,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };

            $scope.map = new google.maps.Map(document.getElementById("map"), mapOptions);
            google.maps.event.addListenerOnce($scope.map, 'idle', function(){

                  var marker = new google.maps.Marker({
                      map: $scope.map,
                      animation: google.maps.Animation.DROP,
                      position: latLng
                  });  

    var infoWindow = new google.maps.InfoWindow({
            content: "Here I am!"
        });

        google.maps.event.addListener(marker, 'click', function () {
            infoWindow.open($scope.map, marker);
        });

                  console.log(status);

请帮助我,如何控制我的控制器达到我的目标

1 个答案:

答案 0 :(得分:1)

您的控制器会检查地理位置是否可用,然后运行地图代码。它在这一行:

$cordovaGeolocation.getCurrentPosition(options).then(function(position){
  //code here is only run if we got the current position
}

所以你应该摆脱那条线,如果你不想要它。问题是:你不能将地图置于用户位置的中心位置。 所以也改变那条线:

var latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

var latLng = new google.maps.LatLng(-34.397,150.644);

例如......