这是清单文件
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <uses-library android:name="com.google.android.maps"/> <activity android:name=".MapTestActivity" android:label="@string/title_activity_map_test" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
这是xml布局文件
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <Button android:id="@+id/zoom_in" android:layout_width="37dp" android:layout_height="wrap_content" android:text="+" android:onClick="mapHandler" /> <Button android:id="@+id/zoom_out" android:layout_width="37dp" android:layout_height="wrap_content" android:text="-" android:onClick="mapHandler" /> <Button android:id="@+id/satelite" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Satelite" android:onClick="mapHandler" /> <Button android:id="@+id/traffic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Traffic" android:onClick="mapHandler" /> <Button android:id="@+id/norm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Normal" android:onClick="mapHandler" /> </LinearLayout> <com.google.android.maps.MapView android:id="@+id/map_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey="sorry for hiding app id" />
这是java文件
package com.example.maptest; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import android.os.Bundle; import android.view.Menu; import android.view.View; public class MapTestActivity extends MapActivity { private MapView mapView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map_test); mapView = (MapView) findViewById(R.id.map_view); mapView.setBuiltInZoomControls(true); } public void mapHandler(View view) { switch(view.getId()){ case R.id.zoom_in: mapView.getController().zoomIn(); break; case R.id.zoom_out: mapView.getController().zoomOut(); break; case R.id.satelite: mapView.setSatellite(true); break; case R.id.traffic: mapView.setTraffic(true); break; case R.id.norm: mapView.setSatellite(false); mapView.setTraffic(false); break; } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_map_test, menu); return true; } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } }
在输出中只有按钮是 display 。我的网络连接也很好
问问题
173 次
4 回答
1
您确定放置在布局 xml 中的地图 API 密钥与您用于签署应用程序的证书匹配吗?即使在通过 Eclipse 运行时,也会使用证书——并且该证书必须与 API 密钥匹配。如果没有,地图视图将起作用,但实际上不会显示任何地图图形。
于 2012-10-22T11:13:28.220 回答
0
您需要授予权限ACCESS_MOCK_LOCATION
。否则应用程序将不接受您发送的模拟位置。此外,在应用程序接收到某个位置之前,地图不会显示,即您需要使用某些工具(例如,Eclipse 中集成的工具)输入一个位置。
于 2012-10-22T12:01:19.060 回答
0
也许线性布局挡住了整个屏幕!?您将参数设置为:
android:layout_width="match_parent"
android:layout_height="match_parent"
所以它可能会阻止整个父母。你介意在没有按钮和线性布局的情况下尝试吗?也许您可以按照本教程进行操作:http ://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.html
于 2012-10-23T07:27:58.023 回答
0
我在使用 Open Street Maps 时遇到了这个问题。为了解决这个问题,我不得不将 SD 卡放入设备/模拟器中。不确定谷歌地图是否需要相同的。
于 2012-10-22T11:16:32.400 回答