`
zjutsoft
  • 浏览: 460386 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何开发Android Maps

阅读更多

 

在开发Android应用软件的时候难免用到Maps,在开发Maps 的时候要先到谷歌的网站上注册一个Maps key然后才能在项目中使用。

 

http://code.google.com/intl/ja-JP/android/maps-api-signup.html

 

上面这个地址是获取MD5的值,但是你必须现有一串字符串才能注册,这个字符串如何获取呢?

 

方法:

 

在DOS下面运行keytool 他会出现一堆的命令,这是你可以根据命令提示输入命令,

 

keytool这只是让大家看看命令提示,你可以直接在dos命令里输入一下内容即可:

 

keytool -list -alias androiddebugkey -keystore “文件路径” -storepassandroid -keypass android

 

文件路径就是你的debug.keystore文件的绝对路径,如果你不知道的话你可以在开发工具里面看看,如果你是用的Eclipse的话你可以从window-->preferences-->android-->build-->Default debug keystore里面的值就是文件的路径,在输入的时候路径两边的引号不能少。

 

一般路径的默认地址是:C:\Users\Administrator\.android\debug.keystore,这个是windows7的默认路径,Administrator是你计算机的名称,可以根据具体的情况而定。

 

输入命令以后回车,会出现MD5的值。

 

然后到谷歌官网上注册即可,有了Maps API Key以后就可以新建Maps的项目。

 

新建项目以后你要在Android AVD里面新建一个google API的虚拟机然后在修改文件的AndroidMainfest.xml文件,在文件里面添加

 

<uses-libraryandroid:name="com.google.android.maps" />

 

这句话要放在Action里面,然后还要给权限

 

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 

 <uses-permission android:name="android.permission.INTERNET" />

 

然后你还要修改main.xml文件在文件里面添加

 

<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="你申请的MAPS API KEY"

                 /> 

 

 

 

然后你在你的java程序里添加内容

 

现引用main.xml文件还要导入一些谷歌的包

 

import com.google.android.maps.GeoPoint; 

import com.google.android.maps.MapActivity; 

import com.google.android.maps.MapController; 

import com.google.android.maps.MapView; 

import android.app.AlertDialog; 

import android.app.Dialog; 

import android.content.DialogInterface; 

import android.os.Bundle; 

import android.view.KeyEvent; 

import android.view.Menu; 

import android.view.MenuItem;

 

public class MapsActivity extends MapActivity {

 

 // 地图显示控制相关变量定义 

 private MapView map=null; 

 private MapController mapCon;

 

 // 菜单项 

 final private int menuMode=Menu.FIRST; 

 final private int menuExit=Menu.FIRST+1; 

 private int chooseItem=0; 

 final CharSequence[] MapMode =new CharSequence[]{"卫星地图","街道地图"};

 

 /** Called when the activity is first created. */ 

 @Override 

 public void onCreate(Bundle savedInstanceState) { 

 super.onCreate(savedInstanceState); 

 setContentView(R.layout.main);

 

 // 获取MapView 

 map=(MapView)findViewById(R.id.map); 

 // 设置显示模式 

 map.setTraffic(true); 

 map.setSatellite(false); 

 map.setStreetView(true); 

 // 设置可以缩放 

 map.setBuiltInZoomControls(true);

 

 // 设置初始地图的中心位置 

 GeoPoint geoBeijing=new GeoPoint((int)(39.95*10000000), (int)(116.37*10000000)); 

 mapCon=map.getController(); 

 mapCon.setCenter(geoBeijing); 

 }

 @Override

 protected boolean isLocationDisplayed(){

  return false;

 }

 

 

@Override

protected boolean isRouteDisplayed() {

 // TODO Auto-generated method stub

 return false;

}

 

 @Override 

 public boolean onCreateOptionsMenu(Menu menu) { 

 // 建立菜单 

 menu.add(0,menuMode,0,"地图模式"); 

 menu.add(0, menuExit, 1, "退出"); 

 return super.onCreateOptionsMenu(menu); 

 }

 

 @Override 

 public boolean onKeyDown(int keyCode, KeyEvent event) { 

 return super.onKeyDown(keyCode, event); 

 }

 

 @Override 

 public boolean onMenuItemSelected(int featureId, MenuItem item) { 

 switch (item.getItemId()) { 

 case menuExit: 

 finish(); 

 break; 

 case menuMode: 

 Dialog dMode=new AlertDialog.Builder(this) 

 .setTitle("地图模式设置") 

 .setSingleChoiceItems(MapMode, chooseItem, new DialogInterface.OnClickListener() 

 {

 

 

 @Override 

 public void onClick(DialogInterface dialog, int which) { 

 chooseItem=which; 

 } 

 }) 

 .setPositiveButton("确定", new DialogInterface.OnClickListener() 

 {

 

 @Override 

 public void onClick(DialogInterface dialog, int which) { 

 switch (which) { 

 case 0: 

 map.setSatellite(true); 

 //map.setTraffic(false); 

 //map.setStreetView(false); 

 break; 

 case 1: 

 //map.setSatellite(false); 

 map.setTraffic(true); 

 //map.setStreetView(false); 

 break; 

 case 2: 

 //map.setSatellite(false); 

 //map.setTraffic(false); 

 map.setStreetView(true); 

 break; 

 default: 

 break; 

 } 

 } 

 }) 

 .setNegativeButton("取消", new DialogInterface.OnClickListener() {

 

 @Override 

 public void onClick(DialogInterface dialog, int which) {

 

 } 

 }) 

 .create(); 

 dMode.show(); 

 break; 

 default: 

 break; 

 } 

 return super.onMenuItemSelected(featureId, item); 

 }

 

 }

 

 

 

然后运行就OK了!

 

good luck!

分享到:
评论
2 楼 zjutsoft 2011-04-18  
http://code.google.com/android/maps-api-signup.html
1 楼 zjutsoft 2011-04-18  
获得Google Map API Key
  在正式使用Google Map API前,必须先生成Google Map API KEY。具体的详细步骤请参考一文
  (http://code.google.com/intl/zh-CN/android/add-ons/google-apis/mapkey.html),下面概括了其要点如下。
  首先,我们要使用Java下的keytool工具,产生MD5密纹,这个是跟你的证书所关联的,在使用Google Map API时进行对证书校验。
  Keytool这个文件一般位于%JAVA_HOME%/bin目录下,如果是linux系统,则位于
  $JAVA_HOME/bin下的,比如windows下在C:programsJavajdk1.6.0_18in下。
  在开发Android程序时,一般是在debug调试模式下开发的,这时SDK的build tools会自动使用debug模式下的证书对应用进行签名的,为了产生debug模式下证书的MD5密纹,我们必须找到debug模式下的 keystore密钥库,在不同的操作系统中,keystore位于如下位置:
· Windows Vista: C:Users\.androiddebug.keystore
  · Windows XP: C:Documents and Settings\.androiddebug.keystore
  · OS X and Linux: ~/.android/debug.keystore
  接下来,我们开始使用keytool工具产生md5密纹,命令行下输入如下语句:
  %JAVA_HOME%/bin/keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android
  现在我们就产生了debug模式下的MD5密纹了,要注意的是,你必须重新为生产环境下的应用重新生成一次MD5密纹,因为如果在不同的Android SDK或者不同的开发环境下,MD5密纹是不同的,否则换了环境的话Google Map将不会工作。
  产生的MD5密纹的输出如下面:
  androiddebugkey, Apr 2, 2010, PrivateKeyEntry,
  Certificate fingerprint (MD5): 72:BF:25:C1:AF:4C:C1:2F:34:D9:B1:90:35:XX:XX:XX
  接下来,我们要到Google Map API的主页去申请一个Map的key了,可以访问

相关推荐

    com.google.android.maps.jar

    com.google.android.maps.jarcom.google.android.maps.jarcom.google.android.maps.jarcom.google.android.maps.jar

    android 的Google Maps

    本实例开发将详细讲解如何在Android应用中使用Google Maps API,让用户能够查看并操作地图。 首先,我们需要在Android Studio中创建一个新的Android项目,并在项目的`build.gradle`文件中添加Google Play服务库依赖...

    android maps api

    android google maps api jar

    android google maps.jar

    android google maps.jar

    com.google.android.maps.xml

    android google api (com.google.android.maps)

    Android的基于Google Maps的个人移动地图开发

    在Android平台上进行基于Google Maps的个人移动地图开发是一项常见的任务,尤其对于想要构建地理位置相关应用的开发者来说。这个主题涉及到Android SDK、Google Maps API以及如何将它们整合到一个功能丰富的移动应用...

    android maps

    这里给大家提供了android maps开发解析json字符串的时候需要参考阅读的网址,是比较实用的,希望喜欢android maps的亲们会喜欢

    Android开发之Google_Maps.docx

    在Android开发中,集成Google Maps是一项常见的任务,它允许开发者为用户提供丰富的地图功能,包括定位、导航、路线规划等。本文将深入探讨Android开发之Google Maps的各个方面。 首先,要开始开发Google Maps应用...

    Android Google Maps Project

    在Android开发中,集成Google Maps是一项常见的任务,用于在应用程序中展示地理位置信息。"Android Google Maps Project"是一个示例项目,旨在教你如何在Android应用中有效地利用Google Maps API。在这个项目中,你...

    android-maps-utils:适用于Android实用工具库的Maps SDK

    适用于Android实用程序库的Maps SDK描述该开源库包含实用程序,这些实用程序对于使用各种应用程序非常有用。 标记聚类-处理大量点的显示热图-将大量点显示为热图IconGenerator —在标记上显示文本多边形解码和编码-...

    Google Maps API Android and Javascript Demo

    Google Maps API android demo Eciplse project source code and javacript version Google Maps API and Place Search example html.

    用Eclipse开发Android应用程序[整理].pdf

    Eclipse 开发 Android 应用程序 Android 是一种针对移动平台的开放源码操作系统, Google 引入了 Android,并在短时间内获得了市场的关注。 Android 不仅仅是另一种包含电话、菜单和触摸屏功能的移动平台,而是一种...

    com.google.android.maps

    上面是Google_API19中的maps.jar,用户可以加载到使用的eclipse中,用户可以通过jar包来开发相应的地图功能

    android1开发android1开发,初学者适用。

    根据给定的信息,我们可以总结出以下关于Android开发中使用Google Maps API的相关知识点: ### Android 开发与 Google Maps API #### 一、Google Maps API简介 Google Maps API 是由Google公司提供的电子地图服务...

    Android+移动开发一本就够

    《Android+移动开发一本就够》是一本全面覆盖Android移动开发领域的书籍,旨在为读者提供一套完整的Android学习路径,从基础知识到高级技术,让开发者能够掌握Android应用开发的各个方面。本书内容丰富,适合初学者...

Global site tag (gtag.js) - Google Analytics