在Android Emulator中显示Google地图
我试图在我的android应用程序中使用谷歌地图 我为用户添加了两个权限:INTERNET和访问\u FINE\u LOCATION“ 而且: “使用android库:name=“com.google.android.maps” 以下是我的地图展示活动:在Android Emulator中显示Google地图,android,google-maps,Android,Google Maps,我试图在我的android应用程序中使用谷歌地图 我为用户添加了两个权限:INTERNET和访问\u FINE\u LOCATION“ 而且: “使用android库:name=“com.google.android.maps” 以下是我的地图展示活动: public class SportEventActivity extends MapActivity { private MapController mapController; @Override protected
public class SportEventActivity extends MapActivity {
private MapController mapController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sportevent);
Bundle extras = getIntent().getExtras();
if (extras != null) {
// Reads the parameters to this view
String sportName = extras.getString(Utility.SPORT_NAME);
String venueName = extras.getString(Utility.VENUE_NAME);
String startDate = extras.getString(Utility.START_DATE);
String endDate = extras.getString(Utility.END_DATE);
final String latitude = extras.getString(Utility.LATITUDE);
final String longitude = extras.getString(Utility.LONGITUDE);
TextView text1 = (TextView) findViewById(R.id.sedSportName);
text1.setText("Sport: " + sportName);
TextView text2 = (TextView) findViewById(R.id.sedVenue);
text2.setText("Venue: " + venueName);
TextView text3 = (TextView) findViewById(R.id.sedStartDate);
text3.setText("Start date: " + startDate);
TextView text4 = (TextView) findViewById(R.id.sedEndDate);
text4.setText("End date: " + endDate);
MapView mapView = (MapView) findViewById(R.id.mapview2);
mapView.setBuiltInZoomControls(true);
mapView.setStreetView(true);
this.mapController = mapView.getController();
this.mapController.setZoom(16);
Double lat = getCoordinate(latitude) * 1E6;
Double lng = getCoordinate(longitude) * 1E6;
mapController.setCenter(new GeoPoint(lat.intValue(), lng.intValue()));
}
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
private Double getCoordinate(String coordinate) {
return Double.parseDouble(coordinate);
}
}
您还可以找到与此活动相关的布局代码:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:stretchColumns="1" android:id="@+id/sedLayout">
<TableRow>
</TableRow>
<TableRow>
<TextView android:layout_column="1" android:padding="3dip"
android:text="Sport name" android:id="@+id/sedSportName" />
<TextView android:gravity="right" android:padding="3dip" />
</TableRow>
<TableRow>
<TextView android:layout_column="1" android:padding="3dip"
android:text="Venue" android:id="@+id/sedVenue" />
<TextView android:gravity="right" android:padding="3dip" />
</TableRow>
<TableRow>
<TextView android:padding="3dip" />
<TextView android:padding="3dip" android:text="Start Date"
android:id="@+id/sedStartDate" />
</TableRow>
<TableRow>
<TextView android:padding="3dip" />
<TextView android:padding="3dip" android:text="End Date"
android:id="@+id/sedEndDate" />
<TextView android:gravity="right" android:padding="3dip" />
</TableRow>
<TableRow>
<TextView android:padding="3dip" />
<View android:layout_height="2dip" android:background="#FF909090" />
<TextView android:padding="3dip" />
</TableRow>
<TableRow>
</TableRow>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview2" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:clickable="true"
android:apiKey="0aULnfycQonb-l_B1QlcK8u4POo4_oKjnmqMU1Q" />
</TableLayout>
我可以看到地图,但问题是当我看到地图时,地图上会显示一张棋盘。我附上了一个截图形式的结果。如果有人为什么给我看带边框的地图,请给我一个解决方案
我认为这是因为在TableLayout内部(但在TableRow外部)膨胀mapview。我会用一个垂直方向的RelativeLayout来包装整个东西,首先是TableLayout,然后是mapview。
我完全复制了你的布局,没有你看到的问题。唯一的区别是我在地图中心的坐标:
m_mapView = (MapView) findViewById(R.id.mapview);
m_mapView.setBuiltInZoomControls(true);
m_mapView.setClickable(true);
m_mapView.setStreetView(true);
m_mapController = m_mapView.getController();
m_mapController.setZoom(16);
m_mapController.setCenter(new GeoPoint((int)(47.975 * 1E6), (int)(17.056 * 1E6)));!
如果您发布正在解析并传递到setCenter的坐标字符串,我可以测试这是否是问题所在。在这种情况下,它看起来像一个bug:
我指的是你正在膨胀的完整布局,也许你可以编辑你的问题并添加这些信息。