`
rensanning
  • 浏览: 3553172 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38224
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607647
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682833
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89561
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:402165
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69769
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91860
社区版块
存档分类
最新评论

Cordova 3.x 实用插件(1) -- Google地图Maps

阅读更多
插件地址:https://github.com/wf9a5m75/phonegap-googlemaps-plugin/

(1)创建工程
引用
cordova create HelloMap com.rensanning.cordova HelloMap
cd HelloMap
cordova platform add android


(2)创建Google Play Services的lib
引用
cd D:\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib
android update lib-project -p . -t 1
ant clean


(3)链接Google Play Services
引用
cd E:\projects\HelloMap
cd platforms/android/
android update project -p . -l ../../../google-play-services_lib

-l 只能使用相对路径,所以先要把google-play-services_lib拷贝到和HelloMap同一目录下。

链接成功后project.properties文件中:
引用
android.library.reference.2=../../../google-play-services_lib


(4)获取fingerpring
引用
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android


(5)获取API Key
进入Google APIs Console
打开APIs & auth > APIs 把 Google Maps Android API v2的状态设置成ON。
进入APIs & auth > Credentials > CREATE NEW KEY > Android Key > 输入SHA1码+“;”+包名 > Create > 获取API Key。


(6)安装phonegap-googlemaps-plugin
下载https://github.com/wf9a5m75/phonegap-googlemaps-plugin/archive/master.zip
引用
cordova plugin add E:\plugins\phonegap-googlemaps-plugin-master --variable API_KEY_FOR_ANDROID=<上边的APIKEY> --variable API_KEY_FOR_IOS=<任意字符>


(7)修改index.html
<button id="button" onclick="openGoogleMap();">Init a map</button>
<script type="text/javascript">
    function openGoogleMap() {
      var map = plugin.google.maps.Map.getMap();
      map.addEventListener(plugin.google.maps.event.MAP_READY, function(map) {
        map.showDialog();
      });
    }
</script>


(8)编译执行
引用
cordova build android
cordova emulate



小米等一些国内厂商手机上默认没有Google Play Services,所以会出错:
引用
java.lang.NoClassDefFoundError: com.google.android.gms.R$string

需要先上国内的其他应用商店里下载Google Play Services。

(9)其他用法
<button id="button" onclick="openGoogleMap2();">Init a map</button>
<script type="text/javascript">
    function openGoogleMap2() {
      var GOOGLE = new plugin.google.maps.LatLng(39.905841, 116.391596);
      var map = plugin.google.maps.Map.getMap();
      map.addEventListener(plugin.google.maps.event.MAP_READY, function(map) {
        map.showDialog();
        map.addMarker({
          'position': GOOGLE,
          'title': ["Hello Google Map", "for", "Cordova!"].join("\n"),
          'snippet': "This plugin is awesome!"
        }, function(marker) {
          map.animateCamera({
            'target': GOOGLE,
            'zoom': 15
          }, function() {
            marker.showInfoWindow();
          });
        });
      });
    }
</script>



标记
map.addMarker({
  "position": GOOGLE,
  "title": "Hello GoogleMap for Cordova!"
});


Flat标记
map.addMarker({
  'position': GOOGLE,
  'flat': true
});


获取标记(回调函数)
map.addMarker({
  "position": GOOGLE,
  "title": "Hello GoogleMap for Cordova!"
}, function(marker) {
  marker.showInfoWindow();
});


替换标记图标
map.addMarker({
  'position': GOOGLE,
  'title': 'Google!'
  'icon': 'www/images/google_icon.png'
});
map.addMarker({
  'position': GOOGLE,
  'title': 'Google!',
  'icon': {
    'url': 'www/images/google_icon.png',
    'size': {
      'width': 74,
      'height': 126
    }
  }
});


HTML5/Canvas动态标记
var canvas = document.getElementById("canvas");
map.addMarker({
  'position': GOOGLE,
  'title': canvas.toDataURL(),
  'icon': "data:image/png;base64,iVBORw0KGgoA...",
}, function(marker) {
  marker.showInfoWindow();
});


标记事件
map.addMarker({
  'position': GOOGLE,
  "title": "Hello Google Maps"
}, function(marker) {
  marker.addEventListener(plugin.google.maps.event.MARKER_CLICK, function() {
    alert("Marker Click");
    marker.showInfoWindow();
  });
  marker.addEventListener(plugin.google.maps.event.INFO_CLICK, function() {
    alert("Info Window Click");
    marker.remove();
  });
});


标记拖拽
map.addMarker({
  'position': GOOGLE,
  'draggable': true
});

map.addMarker({
  'position': GOOGLE
}, function(marker) {
  marker.setDraggable(true);
});


拖拽事件
map.addMarker({
  'position': GOOGLE,
  'draggable': true
}, function(marker) {
  marker.addEventListener(plugin.google.maps.event.MARKER_DRAG_END, function(marker) {
    marker.getPosition(function(latLng) {
      marker.setTitle(latLng.toUrlValue());
      marker.showInfoWindow();
    });
  });
});
  • 大小: 58.4 KB
  • 大小: 144.5 KB
  • 大小: 130.8 KB
  • www.rar (25.3 KB)
  • 下载次数: 49
分享到:
评论

相关推荐

    cordova-plugin-googlemaps:Cordova的Google Maps插件

    适用于Android,iOS和浏览器的Cordova GoogleMaps插件v2.7.1 下载 生成测试(multiple_maps分支) 此插件在您的应用程序中显示Google Maps。 该插件为每个平台使用以下库: Android: iOS: 浏览器: 和均受...

    Cordova 版 Google 地图插件.zip

    适用于 Android、iOS 和浏览器的 Cordova GoogleMaps 插件 v2.7.1下载 构建测试(multiple_maps 分支) 此插件可在您的应用中显示 Google 地图。此插件针对各个平台使用了以下库AndroidGoogle 地图 Android APIiOS...

    mapsforge-cordova-plugin-example-源码.rar

    Mapsforge是Google Maps的替代品,尤其适合离线地图应用。它提供了丰富的地图渲染功能,支持多种地图格式,包括自定义的地图数据。mapsforge-cordova-plugin是Cordova的插件,它使得在Cordova应用中可以直接使用...

    ionic-native-google-maps:适用于Ionic Native的Google地图插件

    @ ionic-native / google-maps插件是用于Ionic框架的的包装器插件。 Ionic Native将插件回调包装在Promise或Observable中,为所有插件提供通用接口,并使其易于使用带有Angular更改检测的插件。 安装 首先,您需要...

    GoogleMapspluginforCordova

    cordova plugin add cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID="your_api_key" --variable API_KEY_FOR_IOS="your_api_key" ``` 这里需要替换`your_api_key`为你的Google Maps API密钥,确保为不同...

    Cordova_Maps:适用于浏览器,iOS和Android的Cordova Maps应用程序

    Cordova_Maps 适用于浏览器,IOS和android的Cordova Maps应用程序 1:创建Cordova项目 cordova create GMapExample com.labs.gmapexample GMapExample 2:更改工作目录 cd GMapExample 3:添加地理位置插件 ...

    Cordova.Ionic.GoogleMapPlugin:结合使用Google Maps插件和Ionic Framework的示例工作应用

    使用带有Ionic Framework的Google Maps插件的示例工作应用程序。 您必须添加自己的Google API密钥才能使代码正常工作。 编辑“ plugins \ android.json”文件。 在底部附近,有2个地方需要用API密钥替换“ {...

    meteor-cordova-native-map:基于 Meteor Cordova 的项目的本地地图组件

    1. 安装依赖:首先,你需要在Meteor项目中安装“meteor-cordova-native-map”包,这可以通过运行特定的命令完成,例如`meteor add cordova:cordova-plugin-maps@版本号`,确保添加的是正确版本的插件。 2. 配置地图...

    ionic-gmaps:Google Maps API的应用程序示例

    在组件类中注入`GoogleMaps`服务,并编写展示地图的方法: ```typescript import { Component } from '@angular/core'; import { GoogleMaps } from '@ionic-native/google-maps'; @Component({ selector: 'app-...

    Android Echart 中国地图简单集成

    - 如果需要在地图上标记特定位置,确保坐标从WGS84到屏幕像素的转换正确无误,可能需要使用Google Maps API或者其他地理位置服务进行转换。 通过以上步骤,你就可以在Android应用中成功集成Echarts中国地图功能,...

    cordova-gps-tracker:GPS追踪器

    9. **地图集成**:结合Google Maps API或其他地图服务显示用户轨迹。 10. **错误处理和异常管理**:处理GPS信号丢失、用户拒绝权限等情况。 通过研究这个开源项目,开发者不仅可以学习到Cordova插件开发,还可以...

    Android-自定义使用高德SDK进行定位的插件

    文件名`cordova-gaode-location-master`表明这是一个Cordova插件的源码仓库,用于在Cordova应用中调用高德地图的定位服务。 1. **安装与配置**:首先,需要将高德地图SDK的jar或aar库添加到Android项目的依赖中。...

    jsmap1:PhonegapCordova 与 Google Maps Javascript v3 API 的集成

    可以使用插件如`cordova-plugin-crosswalk-webview`来提高性能,或使用`cordova-plugin-googlemaps`,这是一个专门为PhoneGap/Cordova设计的Google Maps插件,提供了更多功能和优化。 总的来说,将JavaScript与...

    ionic-starter:ngCordova插件,Google地图,Ionic App中的Oauth实施

    在Ionic应用中,通过`ngCordova`的`cordova-plugin-googlemaps`插件,可以轻松地显示地图、定位用户、添加标记和执行其他地图操作。安装该插件后,需要在应用中引入相应的JavaScript库,并配置API密钥。接着,可以...

    IonicExampleGPSMaps:离子GPS示例Android应用

    4. **地图API**:可能使用了Google Maps API或其他地图服务,来显示地图和位置信息。 5. **Cordova插件**:可能使用Cordova插件来访问Android的GPS功能,例如cordova-plugin-geolocation。 6. **移动应用开发**:...

    App-GPS---Latitude-e-Longitude-no-mapa---H-brido-Cordova:混合应用程序-获取经度和纬度并在地图上显示

    总结来说,"App-GPS---Latitude-e-Longitude-no-mapa---H-brido-Cordova"项目展示了如何利用Cordova框架和JavaScript技术开发一个混合应用程序,通过集成Google Maps API获取并显示用户的实时位置。它涵盖了移动开发...

    cordova-leaflet-app:使用cordova构建传单作为映射组件的示例项目

    此外,它支持多种地图服务提供商,如OpenStreetMap、Google Maps等,使得开发者可以根据需求灵活选择地图数据源。 **项目结构** 在`cordova-leaflet-app-master`这个压缩包中,我们可以期待以下关键文件和目录: ...

    MapKit:Cordova MapKit 插件

    在 iOS 上使用Apple Maps ,在 Android 上使用Google Maps v2 目前仅在 Android 和 iOS 上工作/测试。 需要 Cordova 3.0+(未经修改将无法在早期版本上运行)。 安卓专用 您需要来自 google 的 ,并且需要在安装...

Global site tag (gtag.js) - Google Analytics