Android的GPS地图显示网格
经过30小时的编程和失败,我意识到我不能做我想做的事。所以这是最后一次努力得分。Android的GPS地图显示网格
试图实施谷歌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
进口的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;
}
}
看起来我还为时过早,我建了另一把钥匙,就像我上次做的一样。这次关键工作。
但现在的问题是,当我点击变焦,它强制关闭应用程序德
不使用debug.keystore
。使用new keystore
。 Right 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应该正常运行。
我认为,问题只是你MyItemizedOverlay类。
你提到当我变焦意味着变焦控制或在您的Android 标记点击?
我测试了我的代码,但只做了改变,是我自己的ItemizedOverlay类。它对缩放控制和标记点击都很好。
的唯一的事我可以帮你的是,如果您的应用程序崩溃,当您点击地图上的标记,那么你必须通过上下文来ItemizedOverlay类
如果没有,请将您的代码,我会尝试解决你的问题。
您是否在调试模式下使用了APK版本的API密钥? – 2011-12-16 04:30:05
我不知道这意味着什么。我使用了将MD5粘贴到此处后获得的api密钥:http://code.google.com/android/maps-api-signup.html。我也尝试过我的朋友api,它也没有工作,但都为他工作。我认为它只是一个由api生成的调试版本,我记得所有这些都是通过cmd – TroothHertz 2011-12-16 04:32:52