Android GPS地图显示网格

时间:2011-12-16 04:07:21

标签: android android-mapview

经过30个小时的编程并在此失败后,我意识到我无法做到我想要的。所以这是一次传球的最后努力。

尝试使用google api在地图上显示内容。

我基本上完全遵循Android教程,但它仍然拒绝工作。

它只显示了MapView上的网格,我的朋友测试了我的api密钥,所以应该没问题。

我应该使用的唯一权限是

android.permission.INTERNET

我已经看到了另一个帖子,但我很肯定关键是好的,我认为许可是在正确的地方。

 <com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="key"
   />


 </LinearLayout>

清单

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" android:debuggable="false">
    <uses-library android:name="com.google.android.maps" />
    <activity   

import java.util.List;

 import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;


import android.graphics.drawable.Drawable;
import android.os.Bundle;

public class Main extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);

    List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
    MyItemizedOverlay itemizedoverlay = new MyItemizedOverlay(drawable);

    GeoPoint point = new GeoPoint(19240000,-99120000);
    OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!");

    itemizedoverlay.addOverlay(overlayitem);
    mapOverlays.add(itemizedoverlay);
 }



@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}
     } 
似乎我还不成熟,我建造了另一把钥匙,就像我上次做的那样。这次关键是有效的。

但现在的问题是,当我点击缩放时,它强制关闭应用程序

2 个答案:

答案 0 :(得分:1)

不要使用debug.keystore。使用new keystoreRight click on ur project>Android tools> Export signed application package。创建新密钥库(记住别名和密码)。

现在在命令提示符中使用以下命令:

cd "C:\Program Files\Java\jdk1.7.0_01\bin


keytool -v -list -alias <ur alias name> -keystore <ur keystore name>.keystore -storepass android -keypass android

它要求password稍后它会MD5 fingerprint使用该md5指纹生成google api key。更换钥匙。 现在Project Right Click>Android tools>Export Signed Application package>

Use existing keystore

选择上一个密钥库,并且u get apk in release mode.检查安装此apk.It应该正常运行。

答案 1 :(得分:0)

我认为只有你的MyItemizedOverlay类有问题。

您提到当我点击缩放表示缩放控件安卓标记 ??

我测试了我的代码,但只有更改是我自己的ItemizedOverlay类。它适用于缩放控制和标记点击。

我唯一可以帮助你的是,如果你的应用程序在地图上点击标记时崩溃,那么你必须将Context传递给ItemizedOverlay类

如果没有,请发送您的代码我将尝试解决您的问题。