在以前的电子商务项目中,需要在google地图中比较符合用户条件的酒店的位置以及添加相关的说明图层,只是调用google的js实现即可,现在在android开发中可以使用google 的android api实现。


keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator\.android\debug.keystore" -storepass android -keypass android


Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>cd C:\Program Files\Java\jdk1.6.0_14\bin


C:\Program Files\Java\jdk1.6.0_14\bin>keytool -list -alias androiddebugkey -keys
tore debug.keystore -storepass android -keypass android
keytool错误: java.lang.Exception: Keystore文件存在,但为空文件: debug.keystore


C:\Program Files\Java\jdk1.6.0_14\bin>keytool -list -keystore ~/.android/debug.k
eystore
keytool错误: java.lang.Exception: Keystore 文件不存在: ~/.android/debug.keysto
re

C:\Program Files\Java\jdk1.6.0_14\bin>keytool -help
keytool 用法:

-certreq [-v] [-protected]
[-alias <别名>] [-sigalg <sigalg>]
[-file <csr_file>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-changealias [-v] [-protected] -alias <别名> -destalias <目标别名>
[-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-delete [-v] [-protected] -alias <别名>
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-exportcert [-v] [-rfc] [-protected]
[-alias <别名>] [-file <认证文件>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-genkeypair [-v] [-protected]
[-alias <别名>]
[-keyalg <keyalg>] [-keysize <密钥大小>]
[-sigalg <sigalg>] [-dname <dname>]
[-validity <valDays>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-genseckey [-v] [-protected]
[-alias <别名>] [-keypass <密钥库口令>]
[-keyalg <keyalg>] [-keysize <密钥大小>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-help

-importcert [-v] [-noprompt] [-trustcacerts] [-protected]
[-alias <别名>]
[-file <认证文件>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-importkeystore [-v]
[-srckeystore <源密钥库>] [-destkeystore <目标密钥库>]
[-srcstoretype <源存储类型>] [-deststoretype <目标存储类型>]
[-srcstorepass <源存储库口令>] [-deststorepass <目标存储库口令>]
[-srcprotected] [-destprotected]
[-srcprovidername <源提供方名称>]
[-destprovidername <目标提供方名称>]
[-srcalias <源别名> [-destalias <目标别名>]
[-srckeypass <源密钥库口令>] [-destkeypass <目标密钥库口令>]]
[-noprompt]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-keypasswd [-v] [-alias <别名>]
[-keypass <旧密钥库口令>] [-new <新密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-list [-v | -rfc] [-protected]
[-alias <别名>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

-printcert [-v] [-file <认证文件>]

-storepasswd [-v] [-new <新存储库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]

C:\Program Files\Java\jdk1.6.0_14\bin>keytool -list -alias androiddebugkey -keys
tore "C:\Documents and Settings\Administrator\.android\debug.keystore" -storepas
s android -keypass android
androiddebugkey, 2011-11-22, PrivateKeyEntry,
认证指纹 (MD5): 1E:2E:00:B0:31:C2:5F:80:50:D8:6C:06:D4:46:2F:B1


C:\Program Files\Java\jdk1.6.0_14\bin\keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator\.android\debug.keystore" -storepass android -keypass android


keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator\.android\debug.keystore" -storepass android -keypass android

package com.easyway.android.ui;import java.util.List;import android.graphics.drawable.Drawable;import android.os.Bundle;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 com.google.android.maps.Overlay;import com.google.android.maps.OverlayItem;/** * 实现Google 地图中带自定义的图层的方法 * 1. * @author longgangbai * */public class CustomItemizedOverlayActivity extends MapActivity {    private MapView mapView;    private   MapController mapController ;        /**     *      */    @Override    public void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);        //设置布局        setContentView(R.layout.main);        //获取google地图对象        mapView = (MapView) findViewById(R.id.mapView);        //设置可以缩放的功能        mapView.setBuiltInZoomControls(true);        //获取所有的图层        List<Overlay> mapOverlays = mapView.getOverlays();        //获取图片        Drawable drawable = this.getResources().getDrawable(R.drawable.gps);        //获取图表        CustomItemizedOverlay itemizedOverlay =              new CustomItemizedOverlay(drawable, this);       //北京的中心是北纬39度54分26.37秒,东经116度23分29.22秒。国旗基座的位置是北纬39度54分19.97秒,东经116度23分29.34秒。人民英雄纪念碑的位置是北纬39度54分11.40秒,东经116度23分29.88秒        //设置经纬度        GeoPoint point= new GeoPoint(39971036, 116314659);        //创建图层项        OverlayItem overlayitem =              new OverlayItem(point, "Hello", "Welcome to beijing's TianAnMen !");                //添加一个图层项        itemizedOverlay.addOverlay(overlayitem);                mapOverlays.add(itemizedOverlay);        //添加图层项目        mapController = mapView.getController();        //定位到所要的经纬度        mapController.animateTo(point);        //以此经纬度为中心        mapController.setCenter(point);        mapController.setZoom(6);    }          @Override    protected boolean isRouteDisplayed() {        return true;    }    }

package com.easyway.android.ui;import java.util.ArrayList;import android.app.AlertDialog;import android.content.Context;import android.graphics.drawable.Drawable;import com.google.android.maps.ItemizedOverlay;import com.google.android.maps.OverlayItem;/** *  * 自定义地图的图层 * 我们需要为地图多增加一些自定义的功能,比如可以在地图上进行一些标注。 * 为了实现这样的功能,我们可以继承Overlay这个类,这个类是一个基类,提供了 * 可以在地图上添加图层的基本功能。而另外的选择是,我们可以继承itemzedOverlay这个类, * 需要在构造函数中使用Drawable类,这将被用作来绘制一个标记。 * 此外,我们使用ArrayList * 去保存所有的Overlayitems,而createitem和size方法则容易理解了, * 分别是返回每一个 * Overlayitem和返回目前的所有标记的数目。而onTap方法则是在当某个标记在地图上真正标注时 * 所触发的,比如当在触摸屏上点击时,也可以触发该事件。 *  * 在这个例子中,我们只是通过弹出对 * 话框的方法展示给用户看。最后,在addOverlay方法中,我们向标记数组mapOverlays中增加 * 一个overlayitem标记,并且调用populate方法将其展示出来。 *  * @author longgangbai * */public class CustomItemizedOverlay extends ItemizedOverlay<OverlayItem> {      private ArrayList<OverlayItem> mapOverlays = new ArrayList<OverlayItem>();      private Context context;      public CustomItemizedOverlay(Drawable defaultMarker) {        super(boundCenterBottom(defaultMarker));   }      public CustomItemizedOverlay(Drawable defaultMarker, Context context) {        this(defaultMarker);        this.context = context;   }   /**    * 获取当前图层    */   @Override   protected OverlayItem createItem(int i) {      return mapOverlays.get(i);   }   /**    * 获取当前图层个数    */   @Override   public int size() {      return mapOverlays.size();   }   /**    * 获取当前图层的提示    */   @Override   protected boolean onTap(int index) {      OverlayItem item = mapOverlays.get(index);      AlertDialog.Builder dialog = new AlertDialog.Builder(context);      dialog.setTitle(item.getTitle());      dialog.setMessage(item.getSnippet());      dialog.show();      return true;   }      /**    * 添加图层的方法    * @param overlay    */   public void addOverlay(OverlayItem overlay) {      mapOverlays.add(overlay);      this.populate();   }}

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.easyway.android.ui"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="10" />    <!-- 添加访问权限 -->    <uses-permission android:name="android.permission.INTERNET"/>    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>      <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <!-- 添加google map 的类库 -->        <uses-library android:name="com.google.android.maps" />                          <activity            android:label="@string/app_name"            android:name=".CustomItemizedOverlayActivity" >            <intent-filter >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" > <com.google.android.maps.MapView    android:id="@+id/mapView"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:enabled="true"    android:clickable="true"    android:apiKey="0S3Q4ZaVtVDhibBF6eIGl30D9JDmXVdvP4sQvnQ"    />  </LinearLayout>

更多相关文章

  1. Android(安卓)JNI 编程
  2. Android软件中嵌入地图之二:百度地图
  3. Android(安卓)百分比、水波、流量剩余进度球的实现
  4. Android(安卓)App的签名打包(晋级篇)
  5. 黑马程序员-Android(安卓)maps应用
  6. Android(安卓)N中不再支持“Crypto”的解决方案
  7. Android(安卓)手机设置CMWAP 接入点
  8. Android(安卓)OpenSSL分析及实例
  9. Android小问题:android studio怎么查看数字签名 sha1(集成百度地图

随机推荐

  1. Android如何从服务器获取图片
  2. Flex AIR应用拍照功能(Android和IOS版本)
  3. Android 图形密码
  4. Android Studio 错误 com.android.dex.De
  5. Android 获取网络时间
  6. 复选框
  7. Android 图片倒影效果源码
  8. android嵌入式底层开发
  9. 使用Android studio分析内存泄露
  10. The android SDK requaires Android Deve