`
syab11
  • 浏览: 201392 次
  • 性别: Icon_minigender_1
  • 来自: SH
社区版块
存档分类
最新评论

android 上google map的使用

阅读更多

 

一.MAP API密钥的申请
Eclipse->Window->Preferences->Android->Build中查看debug keystore的位置。
cmd中执行
keytool -list -alias androiddebugkey -keystore “ …..” -storepass android -keypass android    其中””中的是你自己刚得到的keystore的位置。若要求输密码则是“android” 得到认证指纹B9:BD:E8:7B:B2:21:B7:9E:15:12:70:44:12:30:62:B0
到打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html 填入刚 申请到的认证指纹(MD5)就可以获得apikey
Apikey的使用:
  layout中加入MapView
                     <com.google.android.maps.MapView 
        android:id="@+id/mapview" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:apiKey=" 0gn_orY7fE7XNXBtOjG7GSsNcPkhoszWbvVs2CQ " /> 
模拟器的设置:  建立一个"Google Inc.:Google APIs:3"的模拟器
二.项目的建立:
建立新项目时Build Target 应该选择Google APIs,将maps.jar引入。在\add-ones
三.权限和Maps库设置
manifest.xml中设置全相应的权限,比如:  
                      <uses-permission android:name="android.permission.access_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.INTERNET" />
 manifest.xml中加上要用的maps库:
                      <uses-library android:name="com.google.android.maps" />
 四.Maps库分析
1MapController
控制地图移动,伸缩,以某个GPS坐标为中心,控制MapView中的view组件,管理Overlay,提供View的基本功能。
常用方法:animateTo(GeoPoint point)  setCenter(GeoPoint point)  setZoom(int zoomLevel) 等。
2MapView
Mapview是用来显示地图的view, 它派生自android.view.ViewGroup。当MapView获得焦点,可以控制地图的移动和缩放。
地图可以以不同的形式来显示出来,如街景模式,卫星模式等,通过setSatellite(booleansetTraffic(boolean),setStreetView(boolean) 方法。
四.Maps库分析

1)MapController

           控制地图移动,伸缩,以某个GPS坐标为中心,控制MapView中的view组件,管理Overlay,提供View的基本功能。

       常用方法:animateTo(GeoPoint point)  setCenter(GeoPoint point)  setZoom(int zoomLevel) 等。

 

2)MapView

Mapview是用来显示地图的view, 它派生自android.view.ViewGroup。当MapView获得焦点,可以控制地图的移动和缩放。

地图可以以不同的形式来显示出来,如街景模式,卫星模式等,通过setSatellite(boolean)  setTraffic(boolean), setStreetView(boolean) 方法。

3MapActivity

       管理Activity的生命周期,为mapview建立及取消对map service的连接。

       MapActivity是一个抽象类,任何想要显示MapViewactivity都需要派生自MapActivity。并且在其派生类的onCreate()中,都要创建一个MapView实例,可以通过layout XML来创建。

4Overlay

      Overlay是覆盖到MapView的最上层,可以扩展其ondraw接口,自定义在MapView中显示一些自己的东西。MapView通过MapView.getOverlays()Overlay进行管理。

5)MylocationOverlay

       集成了Android.location中接收当前坐标的接口,集成SersorManagerCCompassSensor的接口,我们只需要enableMyLocation(),enableCompass就可以让我们的程序拥有实时的MyLocation以及Compass 功能。

6ItemlizedOverlay

    它包含了一个OverlayItems列表。它为每个点绘制标记点,和维护一个焦点选中的item,同时也负责把一个屏幕点击匹配到item上去,分发焦点改变事件给备选的监听器。

7ProjectionMapViewGPS坐标与设备坐标的转换(GeoPointPoint)。

五.移动和缩放的实现:

1)移动:

                        GeoPoint pt = new  GeoPoint(mapView.getMapCenter().getLatitudeE6(),
           mapView.getMapCenter().getLongitudeE6()+ mapView.getLongitudeSpan() / 4);
           mc.setCenter(pt);
 

 

2)缩放:

            mapView.setBuiltInZoomControls(true);
   public void zoomIn() {
           mc.zoomIn();
       }
       public void zoomOut() { 
          mc.zoomOut();
      }
 
六.地图模式的选择:

 

  地图模式主要有街景模式,交通模式,卫星模式。

 

      通过mapView.setTraffic()   mapView.setSatellite()   mapView.setStreetView() 来设置使用街景模式。

    例如:

   public void setStreetView() {
        mapView.setTraffic(false);
        mapView.setSatellite(false);
        mapView.setStreetView(true);
  }

 

     调用方式:  mapView.setStreetView();

 

六.GPS定位

1MyLocationOverlaymaps.jar map上增加一个显示定位地址的overlay

  enableMyLocation()

  runOnFirstFix()

2LocationManager :  (location.jar) 

  getBastProvider():得到最佳的位置提供者。

  getLastKnownLocation():得到当前的位置。

  

3MyLocationOverlaymaps.jar map上增加一个显示定位地址的overlay

  enableMyLocation() :尝试开启MyLocation功能,

  runOnFirstFix():把一个runnable加入队列,一旦收到一个位置信息,这个runnable就被执行。

4LocationManager :  (location.jar) 

  getBastProvider():得到最佳的位置提供者。

  getLastKnownLocation():得到当前的位置。

5LocationListener接口 (location) 我们可以实现onLocationChanged(Location loc)方法来动态的监听位置的变化。

 

private void initMyLocation() {
loverlay = new MyLocationOverlay(this, mapView);
loverlay.enableMyLocation();
loverlay.runOnFirstFix(new Runnable() {
public void run() {
mc = mapView.getController();mc.animateTo(loverlay.getMyLocation());
}});
mapView.getOverlays().add(loverlay);}

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);			
String provider = locationManager.getBestProvider(criteria, true);	
Location location = locationManager.getLastKnownLocation(provider);		Double latitude = location.getLatitude() * 1E6;		
Double longitude = location.getLongitude() * 1E6;		
geoPoint = new GeoPoint(latitude.intValue(), longitude.intValue());

 七.添加图钉

1)通过继承mapsoverlay后重写draw()方法。适合添加某一个图钉。

2)通过继承mapsItemizedOverlay后重写draw()方法,适合添加一批相同的图钉,并维护每个图钉的焦点。

            List<OverlayItem> locations = new ArrayList<OverlayItem>();
   populate();
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, shadow);
boundCenterBottom(marker);
}


 

 

七.地图搜索

 

1Geocoder

   getFromLocation(double latitude, double longitude, int maxResults)

   getFromLocationName(String locationName, int maxResults, double lowerLeftLatitude, double lowerLeftLongitude, double upperRightLatitude, double upperRightLongitude)

   getFromLocationName(String locationName, int maxResults)

 

 

 

0
0
分享到:
评论

相关推荐

    Android Google map使用

    Android Google map使用,Android Google map使用

    android google map 应用

    在Android布局文件中添加MapView组件,通过设置API密钥和初始化GoogleMap对象,可以实现在应用中展示地图。同时,可以通过调整Zoom级别来控制地图的缩放程度,使用CameraPosition和CameraUpdateFactory来改变视图...

    安卓 谷歌地图 演示源码android google map

    安卓 android google map 谷歌地图

    android google map 导航

    一旦得到路线信息,可以在地图上绘制路径,使用`PolylineOptions`和`GoogleMap.addPolyline()`方法。 总的来说,实现Android上的Google Map导航功能涉及以下几个关键步骤: 1. 添加Google Play Services依赖 2. ...

    android GoogleMap定位(四)

    同时,GoogleMap API还提供了路线规划和导航功能,可以使用Directions API获取路径数据,并在地图上绘制路线。 总之,Android中的GoogleMap定位涉及多个步骤,包括引入依赖、配置权限、初始化地图、开启定位服务、...

    Android结合googlemap应用开发

    一旦解码完成,你可以将这些点按照顺序在Google Map上绘制出来,形成路线图。在Android中,这通常通过MapView或MapView的子类实现,使用Polyline对象来画线,每个点都是一个LatLng对象,包含了经度和纬度信息。 总...

    Android google map API例子

    Android google map API例子

    google-Map.zip_android_android google map_android map_google map

    public void onMapReady(GoogleMap googleMap) { // 这里可以进一步配置地图,比如设置缩放级别、启用定位等 } }); ``` 不忘在其他生命周期方法(如onResume(), onPause(), onDestroy())中调用对应的方法。 ...

    Android上Google Map开发的例子程序

    在Android平台上,Google Map ...这个MapDemo项目应该包含上述代码示例的实现,通过学习和实践,你可以更好地理解和掌握Android上Google Map API的使用。记得在实际开发中根据需求进行定制和扩展,以满足各种应用场景。

    android在google map上画导航路线图

    在Android平台上,集成...通过以上步骤,你就能在Android应用中实现在Google Map上绘制导航路线图的功能了。不过要注意,实际开发中可能还需要考虑错误处理、用户交互优化、离线地图支持等因素,以提供更好的用户体验。

    Android_Google_Map.rar_Google api_android_android google map_and

    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); LatLng sydney = new LatLng(-34, 151); MarkerOptions markerOptions = new MarkerOptions().position(sydney).title("悉尼"); googleMap.addMarker...

    android google map example

    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); // 开启定位功能 if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { ...

    Android-Google-Map-APi.doc.zip_android_google map android

    **Android谷歌地图API** 在Android应用开发中,Google Maps API是一个至关重要的组件,它允许开发者在应用程序中集成谷歌地图的功能,提供丰富的地理位置服务。本文档将深入探讨Android Map API v1,这一版本虽然已...

    轨迹记录 android google map 应用

    "android"标签表明了这是关于Android平台的开发内容,而"googleMap"则指明了主要涉及Google Maps服务。在Android应用中集成Google Maps,开发者需要在Google Cloud Console创建项目,获取API密钥,然后在...

    google-map.rar_android_google map Android

    在Android平台上,Google Map是一个强大的地图服务应用,它允许开发者集成到自己的应用程序中,提供丰富的地图功能,如定位、导航、路线规划等。本项目"google-map.rar"显然是一个基于Android开发的Google Maps API...

    申请Android Google Map API key

    申请Android Google Map API key

    android之GoogleMap

    public void onMapReady(GoogleMap googleMap) { // 这里可以设置地图的各种属性,如定位、缩放、图层等 GoogleMap map = googleMap; map.setMyLocationEnabled(true); // 开启定位 } }); ``` 六、添加地图...

    Android 上应用Googlemap

    &lt;com.google.android.maps.MapView android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey=...

    Android集成google Map 实例

    public void onMapReady(GoogleMap googleMap) { // 在这里可以添加地图操作,如设置地图类型、添加标记、开启定位等 } // 其他生命周期方法,如onResume(), onPause()等,记得相应处理MapView } ``` 为了查询...

    android_googlemap

    有关 android_googlemap的介绍

Global site tag (gtag.js) - Google Analytics