Помогите плз
Проблема: Невозможно отобразить карту Google на странице для приложения для ионной сборки Android с использованием cardova (РАБОТАЕТ НА ХРОМЕ, т.е. БЕЗ СБОРКИ ANDROID)
Страница:
<script id="mapPage.html" type="text/ng-template">
<ion-view title="Map" ng-init="init()" >
<ion-nav-buttons side="left">
<button class="button"> Back </button>
</ion-nav-buttons>
<ion-content>
<div id="map" data-tap-disabled="true"></div>
</ion-content>
</ion-view>
Маршрутизатор:
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('mapPage',
url: '/9',
templateUrl: 'mapPage.html',
controller: 'mapPageTabCtrl'
})
Контроллер:
.controller('mapPageTabCtrl', function($scope, $timeout, googleAppEngineService, $ionicPopup,
controller_Provider, $ionicLoading, $compile) {
$scope.init= function()
{
var propAddress = $scope.propInfoDetailsObj.prop_address;
var geocoder = new google.maps.Geocoder();
var result = "";
geocoder.geocode( { 'address': propAddress}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
var myLatlng = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng() );
var mapOptions = {
center: myLatlng,
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
map: map,
position: myLatlng
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
$scope.map = map;
}
else
{
result = "Unable to find address: " + status;
console.log("###" + result);
}
})//geocoder.geocode( { 'ad
};
//});// function()
})//controller('mapPageTabCtrl',
ДО сборки Android ($ ionic build android), протестировал ее в браузере Chrome с помощью tomcat и отлично работает. Я мог видеть карту Google на странице.
Далее,
Используя $ ionic build android, создал файл apk и протестировал как на эмуляторе AVD, так и на реальном телефоне Android, и заметил, что страница не загружает карту Google, выглядит так, как будто она игнорирует $ scope.init = function () {}.
Буду признателен за вашу помощь ...
2 ответа
Проблема решена - ошибка кода, препятствовавшая загрузке карт.
Если вы можете просматривать карту в браузере, но не при развертывании для Android, выполните следующую команду: ionic plugin add cordova-plugin-whitelist . По умолчанию HTTP-запросы отключены, поэтому все внешние скрипты загружаться не будут.
Похожие вопросы
Связанные вопросы
Новые вопросы
ionic-framework
Ionic - это интерфейсная среда для разработки гибридных мобильных приложений с HTML и Sass. Традиционно он работает поверх Cordova и Angular, но начиная с Ionic 4 он поддерживает Angular, React, Vue.js и веб-компоненты, работающие поверх Cordova или Capacitor.