Angularjs 谷歌地图不显示
我试图在我的混合应用程序中包括谷歌地图,但我遇到了一个问题,即该功能正在运行,但谷歌地图没有显示出来 search.html 这是要显示地图的页面,这里显示了共享位置选项,但在共享之后,它不会显示该页面 controllers.js 这是定义的控制器部分,GpsCtrl用于映射。该页面正在打开并请求浏览器上的位置权限,但随后它没有显示地图Angularjs 谷歌地图不显示,angularjs,google-maps,cordova,ionic-framework,Angularjs,Google Maps,Cordova,Ionic Framework,我试图在我的混合应用程序中包括谷歌地图,但我遇到了一个问题,即该功能正在运行,但谷歌地图没有显示出来 search.html 这是要显示地图的页面,这里显示了共享位置选项,但在共享之后,它不会显示该页面 controllers.js 这是定义的控制器部分,GpsCtrl用于映射。该页面正在打开并请求浏览器上的位置权限,但随后它没有显示地图 angular.module('starter.controllers', ['angular-datepicker']) .controller('Mai
angular.module('starter.controllers', ['angular-datepicker'])
.controller('MainCtrl', function($scope) {
})
.controller('GpsCtrl', function($scope) {
ionic.Platform.ready(function() {
var myLatlng = new google.maps.LatLng(12.96,77.65);
var mapOptions = {
center: myLatlng,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var 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;
});
});
menu.html
这是侧菜单的文件
<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
<ion-nav-bar class="bar-stable">
<ion-nav-back-button>
</ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" menu-toggle="left">
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<ion-header-bar class="bar-stable">
<h1 class="title">Left</h1>
</ion-header-bar>
<ion-content>
<ion-list>
<ion-item nav-clear menu-close ng-click="login()">
Login
</ion-item>
<ion-item nav-clear menu-close href="#/app/connect">
Search
</ion-item>
<ion-item nav-clear menu-close href="#/app/registration">
Browse
</ion-item>
<ion-item nav-clear menu-close href="#/app/main">
Main
</ion-item>
<ion-item nav-clear menu-close href="#/app/resu">
Result
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
左边
登录
搜寻
浏览
主要
结果
您在谷歌地图调用中缺少http://
可以这样称呼:
<script src="http://maps.googleapis.com/maps/api/js"></script>
您是否检查了app.js中的run方法。确保您有starter.controllers,如此处所述
angular.module('starter',['ionic','starter.controllers']) <== add controller here
.run(function($ionicPlatform) {......................
angular.module('starter',['ionic','starter.controllers'])var选项={timeout:10000,enableHighAccurance:true}
$cordovaGeolocation.getCurrentPosition(options).then(function (position) {
var latLng = new google.maps.LatLng(12.32719230000002, 76.73288185390626);
var mapOptions = {
center: latLng,
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
$scope.map = new google.maps.Map(document.getElementById("map"), mapOptions);
google.maps.event.addListenerOnce($scope.map, 'idle', function () {
var marker = new google.maps.Marker({
map: $scope.map,
animation: google.maps.Animation.DROP,
position: latLng
});
var infoWindow = new google.maps.InfoWindow({
content: "Here I am!"
});
google.maps.event.addListener(marker, 'click', function () {
infoWindow.open($scope.map, marker);
});
});
}, function (error) {
console.log("Could not get location");
});
在index.html中,您的谷歌地图脚本是add http:in src。@Banik它仍然显示相同的问题我能够解决它,但它没有显示在android设备上。此外,它也无助于在控制器中尝试此方法请解释您的答案
<script src="http://maps.googleapis.com/maps/api/js"></script>
angular.module('starter',['ionic','starter.controllers']) <== add controller here
.run(function($ionicPlatform) {......................
$cordovaGeolocation.getCurrentPosition(options).then(function (position) {
var latLng = new google.maps.LatLng(12.32719230000002, 76.73288185390626);
var mapOptions = {
center: latLng,
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
$scope.map = new google.maps.Map(document.getElementById("map"), mapOptions);
google.maps.event.addListenerOnce($scope.map, 'idle', function () {
var marker = new google.maps.Marker({
map: $scope.map,
animation: google.maps.Animation.DROP,
position: latLng
});
var infoWindow = new google.maps.InfoWindow({
content: "Here I am!"
});
google.maps.event.addListener(marker, 'click', function () {
infoWindow.open($scope.map, marker);
});
});
}, function (error) {
console.log("Could not get location");
});