ionic ngcordova map 地圖

幾乎每個APP都會有地圖 所以在這裏記錄一下

1.在index.html 中

1     <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB16sGmIekuGIvYOfNoW9T44377IU2d2Es&sensor=true"></script>
2
3     <!-- cordova script (this will be a 404 during development) -->
4      <script src="lib/ionic/js/ng-cordova.min.js"></script>
5     <script src="cordova.js"></script>

2. CSS

1 map {
2   display: block;
3   width: 100%;
4   height: 100%;
5 }
6 .scroll {
7   height: 100%;
8 }

3. 生成一個指令

 1 .directive(‘map‘, function() {
 2   return {
 3     restrict: ‘E‘,
 4     scope: {
 5       onCreate: ‘&‘
 6     },
 7     link: function ($scope, $element, $attr) {
 8       function initialize() {
 9         var mylang=new google.maps.LatLng(43.07493, -89.381388);
10         var mapOptions = {
11           center: mylang,
12           zoom: 16,
13           mapTypeId: google.maps.MapTypeId.ROADMAP
14         };
15         var map = new google.maps.Map($element[0], mapOptions);
16         //Marker + infowindow + angularjs compiled ng-click
17         var marker = new google.maps.Marker({
18           position: mylang,
19           map: map,
20           title: ‘Uluru (Ayers Rock)‘
21         });
22         var infowindow = new google.maps.InfoWindow({
23         content:"Hello World!"
24          });
25         google.maps.event.addListener(marker, ‘click‘, function() {
26           infowindow.open(map,marker);
27         });
28         $scope.onCreate({map: map});
29
30         //Stop the side bar from dragging when mousedown / tapdown on the map
31         google.maps.event.addDomListener($element[0], ‘mousedown‘, function (e) {
32           e.preventDefault();
33           return false;
34         });
35       }
36
37       if (document.readyState === "complete") {
38         initialize();
39       } else {
40         google.maps.event.addDomListener(window, ‘load‘, initialize);
41       }
42     }
43   }
44 });

4.在index.html 中寫入 map 標籤 1 <map on-create="mapCreated(map)"></map>

5.設置控制器

 1 .controller(‘MapCtrl‘, function($scope, $ionicLoading, $cordovaGeolocation) {
 2   $scope.mapCreated = function(map) {
 3     $scope.map = map;
 4   };
 5
 6   $scope.centerOnMe = function() {
 7     console.log("Centering");
 8     if (!$scope.map) {
 9       return;
10     }
11
12     $scope.loading = $ionicLoading.show({
13       content: ‘Getting current location...‘,
14       showBackdrop: false
15     });
16     $cordovaGeolocation
17       .getCurrentPosition()
18       .then(function(pos) {
19         var lat = pos.coords.latitude
20         var long = pos.coords.longitude
21         console.log(‘Got pos‘, pos);
22         $scope.map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));//
23         var marker=new google.maps.Marker({
24               map: $scope.map,
25               position: new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude)
26         });//這個marker 設置了一下
27         $scope.loading.hide();
28       }, function(err) {
29         // error
30       });
31     // navigator.geolocation.getCurrentPosition(function (pos) {
32     //   console.log(‘Got pos‘, pos);
33     //   $scope.map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
34     //        var marker=new google.maps.Marker({
35     //           map: $scope.map,
36     //           position: new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude)
37     //     });
38     //   $scope.loading.hide();
39     // }, function (error) {
40     //   alert(‘Unable to get location: ‘ + error.message);
41     // });
42   };
43 });

6. 忘記了...為了更加的準確 還是添加了ngcordova plugin 插件

 1 cordova plugin add org.apache.cordova.geolocation 

不要忘記了注入 ngCordova  $cordovaGeolocation
时间: 2024-08-24 05:31:23

ionic ngcordova map 地圖的相关文章

ionic ngcordova camera

拍照是經常用到的,所以記錄一下 拍照的代碼... 1. ionic start camera blankcd camera ionic platform add ios 2. 添加插件,這裏很熟悉.... 1 cordova plugin add org.apache.cordova.camera 3. 可以從這裏下載 ngcordova.min.js 或者ngcordova.js 然後添加到www/lib/ionic/js 文件夾下 (不強求....) 4.在index.html 引用ngco

ionic ngcordova barcodescanner

二維碼掃描  最近有一個項目用到了 二維碼的掃描  總結一下 記錄一下 1. 1 ionic start barcodescanner blank 2 cd barcodescanner 3 ionic platform add android 4 ionic platform add ios 2. 添加插件 cordova plugin add https://github.com/wildabeast/BarcodeScanner.git 3.添加ngcordova.min.js 到www文

Ionic开发实战

折磨的两个月!Ionic从零单排,到项目发布!遇到了很多问题但都一一解决了,此篇文章留作记录. 当初想着因为项目不大人力足够的并且因为团队没有移动开发经验的情况下,是不是能够是用hybrid app来代替原生来完成这个项目,经过一些技术调研之后选择了Ionic.当时是对Ionic一无所知,凭借一些盲目的自信,想着方正有开发文档能有什么问题呢.现在想想都觉得当时有点冲动万一中间出现什么坑或者无法解决的问题都找不到可以咨询的人.不过好歹结果是好的,基本实现了当初需求设计,并且效果还不错. 因为Ion

ionic 通过下载apk升级App

上篇通过更新文件升级APP,如果遇到了比如更新插件之类的问题,上篇是无法解决的,所以为了解决这个问题,需要下载apk文件升级APP.   1.配置文件如下:{'appVersion':'1.0.0','content':'1.更新app信息展示<br>2.修复XXX'} 2.安装ngCordova,下载地址:https://github.com/driftyco/ng-cordova 将ng-cordova.js 拷贝到你的lib文件夹下,然后在index.html文件中的cordova.js

Ionic开发之条形码扫描

最近项目开发中有扫描条码的需求,查阅一些资料之后发现ngCordova扩展了cordova的插件–BarcodeScanner,提供了以下格式的条码扫描. QR Code Data Matrix UPC E UPC A EAN 8 EAN 13 Code 128 Code 39 ITF 完美的支持所有格式,插件本身使用流行的库ZXing. 将条码扫描器整合进Android和iOS应用的步骤如下: 1.新建项目 ionic start IonicProject blank cd IonicProj

初识ionic

1.Ionic环境安装 Ionic开发是依赖于Nodejs环境的,所以在开发之前我们需要安装好Nodejs.下载安装:http://nodejs.org/ 安装完成之后打开PowerShell输入命令node -v和npm -v验证是否安装成功,如果返回版本号则说明成功. 在PowerShell命令行中执行: npm install -g cordova ionic 1 1 这是使用npm包管理器安装cordova和ionic,-g的意思是全局安装,全局安装后在PowerShell中任何目录下都

Use SQLite Instead of Local Storage In Ionic Framework【转】

Switching to object-based data storage can often be tough.  If you’re trying to start Phonegap or Ionic Framework development and are coming from native development, the whole local storage concept can be a tough one to grasp.  Or maybe you just pref

ionic混合开发总结之调用手机相机

整理一下,给接触ionic的伙伴们一些参考,少走弯路. 调用手机的前提是已经成功创建了项目. 首先,要下载两个插件,一个是 cordova-plugin-camera,是调用相机的插件,还有一个是NgCordova,具体命令自己百度,网上很多. 下载完NgCordova后,不要忘记在app.js里面添加依赖,其中的ngCordova就是依赖, var app = angular.module('starter', ['ionic', 'ngCordova','starter.controller

ionic 组件之二维码扫描

一.简介 开源软件 https://github.com/phonegap/phonegap-plugin-barcodescanner 可以支持各种类型的扫描,包括二维码等等…… QR Code Data Matrix UPC E UPC A EAN 8 EAN 13 Code 128 Code 39 ITF 插件内部使用类库 https://github.com/zxing/zxing 二.安装插件 首先准备项目: ionic start IonicProject blank cd Ioni