我遇到了MapView的问题,因为它没有加载地图。我一直在读书,发现很多人都有同样的问题。我检查了所有可能的问题,似乎一切正常:P
在清单上,它位于标记
我有标签前的
在模拟器中,3G正常运行,因为我可以使用浏览器导航并且Google地图可以完美加载
我检查了两次我的ApiKey,似乎还可以。我正在使用Windows,所以在cmd中我导航到Java Keytool所在的文件夹,一旦我执行下一个命令获取指纹,然后我的ApiKey:
keytool -list -alias androiddebugkey -storepass android -keypass android -key store c:\ path \ where \ the \ file \ is \ located \ debug.keystore
以下是我的一些代码:
public class mapa extends MapActivity {
private MapView mMapView = null;
private MapController mc = null;
/** Called when the Activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapa);
GeoPoint gPoint = new GeoPoint(40331175,-3765780);
mMapView = (MapView) findViewById(R.id.mView);
mMapView.setSatellite(true);
mMapView.setBuiltInZoomControls(true);
mc = mMapView.getController();
mc.setZoom(15);
mc.setCenter(gPoint);
}
XML布局:
<?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/mView"
android:layout_width="fill_parent"
android:layout_height="375dp"
android:padding="5dp"
android:enabled="true"
android:clickable="true"
android:apiKey="My_Api_Key" />
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="3dp"
android:orientation="vertical">
<TextView
android:id="@+id/tMapa"
android:text="Último dato"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
//Here i have some other info, but its not relevant to the problem, since all this views loads properly :P
</RelativeLayout>
</LinearLayout>
AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pfc.android"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INERNET" />
<uses-permission android:name="android.permission.WRITE_GSERVICES" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="com.google.android.maps" />
<!-- I've got here some others Activities declared -->
<!-- This is the map Activity -->
<activity android:name=".mapa"
android:label="@string/app_name"
class=".mapa">
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
</manifest>
所以,我不知道我还能做些什么来解决这个问题。
任何人都可以帮助我吗? :d
答案 0 :(得分:2)
我们的Android开发人员也面临着这个问题。我们解决了这个问题:
我们从每台计算机生成API密钥,并将密钥添加到各自的main.xml文件中。所以每个开发人员都有一个单独的api密钥。
我们使用android“emulator”命令从命令行启动模拟器,该命令位于tools目录中,并以代理选项启动,而不是从Eclipse启动它eg:
E:&gt;模拟器-avd New_Device -http-proxy http://202.0.0.203:808
答案 1 :(得分:1)
你没有解释“它没有加载地图”的含义,这使你很难帮助你。
您没有在粘贴的代码中提供有效的API密钥,这使您更难以帮助您。
Here is a working MapView
project - 只需粘贴您自己的API密钥即可。如果失败,但独立的Maps应用程序在同一个模拟器/设备中正常工作,那么您的API密钥可能无效。
答案 2 :(得分:0)
很久以前,因为我解决了这个问题(正如我在CommonsWare的评论中所解释的那样)。只需将其写在这里使其成为“官方”xD:
“ApiKey是正确的,其他一切都是正确的,除了互联网使用权限Manifiest。我错误输入INTERNET到INERNET¬_-'我不明白为什么Eclipse没有警告:P”