Javascript 模态中的谷歌地图只显示第一张地图
我试图使用GoogleMapsAPI显示我从一组json数据传入的地址的映射,但是当我运行代码时,它只显示传入的第一个地址。当模式打开时,它会显示地图,但一旦关闭并打开另一个模式,它就不会显示地图,只是一个空白 模态控制器Javascript 模态中的谷歌地图只显示第一张地图,javascript,jquery,google-maps,ionic,Javascript,Jquery,Google Maps,Ionic,我试图使用GoogleMapsAPI显示我从一组json数据传入的地址的映射,但是当我运行代码时,它只显示传入的第一个地址。当模式打开时,它会显示地图,但一旦关闭并打开另一个模式,它就不会显示地图,只是一个空白 模态控制器 .controller('ModalCtrl', function($scope, $ionicModal) { $ionicModal.fromTemplateUrl('templates/modal.html', { scope: $scope, an
.controller('ModalCtrl', function($scope, $ionicModal) {
$ionicModal.fromTemplateUrl('templates/modal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
});
$scope.openModal = function(b,c) {
$scope.modal.show();
var myLatlng = new google.maps.LatLng(b,c);
var mapProp = {
center: myLatlng,
zoom:15,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("map"),mapProp);
var marker = new google.maps.Marker({
position: myLatlng,
map: map
});
$scope.map = map;
};
$scope.closeModal = function() {
$scope.modal.hide();
};
//Cleanup the modal when we're done with it!
$scope.$on('$destroy', function() {
$scope.modal.remove();
});
// Execute action on hide modal
$scope.$on('modal.hidden', function() {
// Execute action
});
// Execute action on remove modal
$scope.$on('modal.removed', function() {
// Execute action
});
})
模态
{{office.LocationName}
{{office.LocAddressLine1+”、“+office.LocAddressLine2+”、“+office.LocCity+”、“+office.LocCountryDescription+”、“+office.LocZipPostalCode}
可以从中打开模式的页面
<ion-view view-title="Favourites">
<!-- template for the favourites page -->
<ion-content>
<ion-list>
<!-- displays the items that the user has favourited through the filter function -->
<ion-item id="fav" class="item-icon-right item-text-wrap" collection-repeat="office in offices|filter:ifinfav1" ng-controller="ModalCtrl" ng-click="openModal(office.Lat, office.Long); lastview(office.id);">
<h3>{{office.LocationName}}</h3>
<p id="details">{{office.LocAddressLine1 + ", " + office.LocAddressLine2 + ", " + office.LocCity + ", " + office.LocCountryDescription + ", " + office.LocZipPostalCode}}</p>
<i ng-class="{'icon ion-android-star': favicon(office.id), 'icon ion-android-star-outline': !favicon(office.id)}" ng-click="togglefav(office.id); $event.stopPropagation();"></i>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
{{office.LocationName}
{{office.LocAddressLine1+”、“+office.LocAddressLine2+”、“+office.LocCity+”、“+office.LocCountryDescription+”、“+office.LocZipPostalCode}
以下是一个在模式中使用的Ionic应用程序示例:
在模式模板中有映射指令(ui-gmap-google-map、ui-gmap-marker、ui-gmap-marker):
点击我!
以下是一个在模式中使用的Ionic应用程序示例:
在模式模板中有映射指令(ui-gmap-google-map、ui-gmap-marker、ui-gmap-marker):
点击我!
<ion-view view-title="Favourites">
<!-- template for the favourites page -->
<ion-content>
<ion-list>
<!-- displays the items that the user has favourited through the filter function -->
<ion-item id="fav" class="item-icon-right item-text-wrap" collection-repeat="office in offices|filter:ifinfav1" ng-controller="ModalCtrl" ng-click="openModal(office.Lat, office.Long); lastview(office.id);">
<h3>{{office.LocationName}}</h3>
<p id="details">{{office.LocAddressLine1 + ", " + office.LocAddressLine2 + ", " + office.LocCity + ", " + office.LocCountryDescription + ", " + office.LocZipPostalCode}}</p>
<i ng-class="{'icon ion-android-star': favicon(office.id), 'icon ion-android-star-outline': !favicon(office.id)}" ng-click="togglefav(office.id); $event.stopPropagation();"></i>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
<div id="map_canvas">
<ui-gmap-google-map center="map.center" zoom="map.zoom" options="map.options">
<ui-gmap-marker idKey='1' coords='map.center'>
<ui-gmap-window isIconVisibleOnClick="true">
<div><a ng-click='clickTest()'>Click me!</a></div>
</ui-gmap-window>
</ui-gmap-marker>
</ui-gmap-google-map>
</div>