0
我在我的應用程序中添加了谷歌地圖,並創建了一個標記,但是當我打開視圖時,我在屏幕上獲得了當前位置。離子谷歌地圖,如何設置標記上的位置?
我想要的是當谷歌地圖打開時,位置在標記上。
我正在使用cordova-plugin-geolocation。
更新代碼
.controller('mapCtrl', function($scope, $state, $http, $cordovaGeolocation) {
/// Main map
this.Tool = function() {
var markers = [];
$scope.id= sessionStorage.getItem('product_info_id');
var str="http://www.manaspp.hol.es/markers.php?product_id="+$scope.id;
$http.get(str).then(function (response){
markers = response;
console.log(markers);
var records = markers.data.markers;
for (var i = 0; i < records.length; i++)
{
var record = records[i];
var myCenter = new google.maps.LatLng(record.lat, record.lng);
var mapOptions = {
center: myCenter,
zoom: 15,
disableDefaultUI: true
};
$scope.map = new google.maps.Map(document.getElementById("map"), mapOptions);
google.maps.event.addListenerOnce($scope.map, 'idle', function(){
loadMarkers();
});
}
});
// Marker loading use php script
function loadMarkers(){
var markers = [];
$scope.id= sessionStorage.getItem('product_info_id');
var str="http://www.manaspp.hol.es/markers.php?product_id="+$scope.id;
$http.get(str).then(function (response){
markers = response;
console.log(markers);
var records = markers.data.markers;
for (var i = 0; i < records.length; i++)
{
var record = records[i];
var markerPos = new google.maps.LatLng(record.lat, record.lng);
// Add the markerto the map
var marker = new google.maps.Marker({
map: $scope.map,
animation: google.maps.Animation.DROP,
position: markerPos
});
var infoWindowContent = "<h4>" + record.name + "</h4>";
addInfoWindow(marker, infoWindowContent, record);
}
});
}
function addInfoWindow(marker, message, record) {
var infoWindow = new google.maps.InfoWindow({
content: message
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.open($scope.map, marker);
});
}
window.location.href = "#/page10";
}
})
嗯,我的市場對面的PHP腳本返回查詢加載和我加$ scope.id。在數據庫中放置id對象,座標(lat,lng)。 –
最新的問題?我無法理解。 –
非常感謝!但我意識到這一點(更新後)。我知道這是一條曲線,也許不合邏輯,但它起作用))也許你有想法如何做得更好?) –