1

Konumumu fark etmek ve aşağıdaki işlevleri uygulamak için Google Rehber API'sı almaya çalışıyorum. Bu çok yeni ve API ve tüm işlevler başlangıçta çalıştığından aşağıda yanlış ne yapıyorum emin değilim, ama benim yer için sorulduktan sonra, nerede olduğumu gösterir ama başka hiçbir şey çalışıyor/birlikte çalışmadığını gösterir.İyonik uygulamada getCurrentPosition Geolocation ile çalışmayan Google Rehber API'si

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git 

App.js pozisyonu aldığınız zaman, haritadaki konumunu güncellemek

app.controller("MapController", function($scope, $ionicLoading) { 
 

 
    var map; 
 
    var infowindow; 
 
    var request; 
 
    var service; 
 
    var markers = []; 
 

 
    google.maps.event.addDomListener(window, 'load', function() { 
 

 
    var center = new google.maps.LatLng(42.3625441, -71.0864435); 
 
    var mapOptions = { 
 
     center:center, 
 
     zoom:16 
 
    }; 
 

 
    map = new google.maps.Map(document.getElementById('map'), mapOptions); 
 

 
    navigator.geolocation.getCurrentPosition(function(pos) { 
 
       map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude)); 
 
       var myLocation = new google.maps.Marker({ 
 
        position: new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude), 
 
        map: map, 
 
        title: "My Location" 
 
       }); 
 
      }); 
 

 
    $scope.map = map; 
 

 
    request = { 
 
     location: center, 
 
     radius: 1650, 
 
     types: ['bakery', 'bar'] 
 
    }; 
 

 
    infowindow = new google.maps.InfoWindow(); 
 

 
    var service = new google.maps.places.PlacesService(map); 
 

 
    service.nearbySearch(request, callback); 
 

 
    function callback (results, status) { 
 
    if (status == google.maps.places.PlacesServiceStatus.OK) { 
 
     for (var i = 0; i < results.length; i++) { 
 
     createMarker(results[i]); 
 
     } 
 
    } 
 
    } 
 
    function createMarker(place){ 
 
    var placeLoc = place.geometry.location; 
 
    var marker = new google.maps.Marker({ 
 
     map: map, 
 
     position: place.geometry.location 
 
    }); 
 
    google.maps.event.addListener(marker, 'click', function(){ 
 
     infowindow.setContent(place.name); 
 
     infowindow.open(map,this); 
 
    }); 
 
    } 
 

 
}); 
 

 
});

cevap

0

:

Cordova Coğrafi Konum eklentisi benim iyonik uygulamaya eklenen ancak yeni bir Yakınlaştırılmış Arama çalıştırmıyorsunuz.

Bu nedenle, getCurrentPosition geri çağrısına service.nearbySearch(...) numaralı telefonu aramak istediğinizi düşünüyorum.

Ayrıca, yakındaki Arama'yı geri aramak için, createMarker aracılığıyla oluşturulan işaretleyicilerin bir dizisini bulundurmak isteyebilirsiniz, böylece yeni bir arama çalıştırdığınızda bunları kaldırabilirsiniz (ör. Her eski işaretçiye marker.setMap(null) numaralı telefonu arayarak).

İlgili konular