Google 离子框架上未显示地图
Google Maps not showing on ionic framework
我是 ionic 的初学者,并且弄乱了 google 地图。我想在屏幕上显示 Google 地图,但它没有出现在屏幕上,尽管我认为 <div>
正在接收代码。帮助!!
编码为<body>
<body ng-controller="RoadwayControl">
<ion-side-menus>
<!-- Centre Part -->
<ion-side-menu-content>
<ion-header-bar class="bar-dark">
<button class="button button-icon" ng-click="leftMenuClick()">
<i class="icon ion-navicon"></i>
</button>
<h1 class="title">Roadway Maps</h1>
<button class="button button-icon" ng-click="rightMenuClick()">
<i class="icon ion-navicon"></i>
</button>
</ion-header-bar>
<ion-content ng-controller="GoogleMapsControl">
<div id="map" data-tap-disabled="true"></div>
</ion-content>
</ion-side-menu-content>
</ion-side-menus>
<!-- Needed for Cordova/PhoneGap (will be a 404 during development) -->
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAt18I1Nft28M_AaxJjo6kGI-lcP2o5STk&sensor=true"></script>
<script src="js/app.js"></script>
<script src="cordova.js"></script>
</body>
编码为js/app.js
var roadwayApp=angular.module("roadwayNepal",['ionic'])
roadwayApp.factory("RoadwayClass",function(){
return{
routes: [],
};
});
roadwayApp.factory("GoogleMaps",function(){
return{
};
});
roadwayApp.controller("RoadwayControl",function($scope,$ionicSideMenuDelegate){
$scope.allMenus= [
{"title":"About"},
{"title":"Settings"},
];
$scope.leftMenuClick=function(){
$ionicSideMenuDelegate.toggleLeft();
};
$scope.activeMenu=null;
$scope.rightMenuClick=function(){
if(RoadwayClass.routes.length>0){
//there are routes
$ionicSideMenuDelegate.toggleRight();
}else{
console.log("empty list");
}
}
});
roadwayApp.controller("GoogleMapsControl",function($scope,$ionicLoading){
google.maps.event.addDomListener(window, 'load', function() {
var myLatlng = new google.maps.LatLng(37.3000, -120.4833);
var mapOptions = {
center: myLatlng,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var myDiv=document.getElementById("map");
var map = new google.maps.Map(myDiv, 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;
});
});
`
您正在 "sidemenu" 上添加地图,我认为这不正确。
我假设 roadwayNepal 应该是你的 ng-app。
从一个空白项目开始(例如标签模板)
ionic strat myApp tabs
并逐步添加您的地图组件
使用 http://angular-ui.github.io/angular-google-maps/#!/ 在您的应用中使用 google 地图。您正在从不推荐的控制器中操纵 DOM。
你也可以查看这个 repo https://github.com/driftyco/ionic-starter-maps。
$ sudo npm install -g ionic cordova
$ ionic start myApp maps
我是 ionic 的初学者,并且弄乱了 google 地图。我想在屏幕上显示 Google 地图,但它没有出现在屏幕上,尽管我认为 <div>
正在接收代码。帮助!!
编码为<body>
<body ng-controller="RoadwayControl">
<ion-side-menus>
<!-- Centre Part -->
<ion-side-menu-content>
<ion-header-bar class="bar-dark">
<button class="button button-icon" ng-click="leftMenuClick()">
<i class="icon ion-navicon"></i>
</button>
<h1 class="title">Roadway Maps</h1>
<button class="button button-icon" ng-click="rightMenuClick()">
<i class="icon ion-navicon"></i>
</button>
</ion-header-bar>
<ion-content ng-controller="GoogleMapsControl">
<div id="map" data-tap-disabled="true"></div>
</ion-content>
</ion-side-menu-content>
</ion-side-menus>
<!-- Needed for Cordova/PhoneGap (will be a 404 during development) -->
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAt18I1Nft28M_AaxJjo6kGI-lcP2o5STk&sensor=true"></script>
<script src="js/app.js"></script>
<script src="cordova.js"></script>
</body>
编码为js/app.js
var roadwayApp=angular.module("roadwayNepal",['ionic'])
roadwayApp.factory("RoadwayClass",function(){
return{
routes: [],
};
});
roadwayApp.factory("GoogleMaps",function(){
return{
};
});
roadwayApp.controller("RoadwayControl",function($scope,$ionicSideMenuDelegate){
$scope.allMenus= [
{"title":"About"},
{"title":"Settings"},
];
$scope.leftMenuClick=function(){
$ionicSideMenuDelegate.toggleLeft();
};
$scope.activeMenu=null;
$scope.rightMenuClick=function(){
if(RoadwayClass.routes.length>0){
//there are routes
$ionicSideMenuDelegate.toggleRight();
}else{
console.log("empty list");
}
}
});
roadwayApp.controller("GoogleMapsControl",function($scope,$ionicLoading){
google.maps.event.addDomListener(window, 'load', function() {
var myLatlng = new google.maps.LatLng(37.3000, -120.4833);
var mapOptions = {
center: myLatlng,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var myDiv=document.getElementById("map");
var map = new google.maps.Map(myDiv, 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;
});
});
`
您正在 "sidemenu" 上添加地图,我认为这不正确。 我假设 roadwayNepal 应该是你的 ng-app。
从一个空白项目开始(例如标签模板)
ionic strat myApp tabs
并逐步添加您的地图组件
使用 http://angular-ui.github.io/angular-google-maps/#!/ 在您的应用中使用 google 地图。您正在从不推荐的控制器中操纵 DOM。
你也可以查看这个 repo https://github.com/driftyco/ionic-starter-maps。
$ sudo npm install -g ionic cordova
$ ionic start myApp maps