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)。 –
最新的问题?我无法理解。 –
非常感谢!但我意识到这一点(更新后)。我知道这是一条曲线,也许不合逻辑,但它起作用))也许你有想法如何做得更好?) –