gpt4 book ai didi

Android谷歌地图显示空白

转载 作者:行者123 更新时间:2023-11-30 03:34:13 27 4
gpt4 key购买 nike

我正在尝试实现 google maps V2,但 map 显示为空白。我编辑了 list 、创建了 xml 布局和 Activity ,但 map 显示为空白。

这是我对 list 所做的:

<permission
android:name="com.biznismap.com.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />

<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.biznismap.com.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

并将其添加为 list 中应用程序节点的第一个子节点:

<uses-library android:name="com.google.android.maps" />

<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my_key" />

这是我的 map xml 布局:

<?xml version="1.0" encoding="utf-8"?>
<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:apiKey="my_key"
android:clickable="true" />

这是我的 MapActivity:

public class ListingMap extends MapActivity {

private HelloItemizedOverlay itemizedoverlay;
private List<Overlay> mapOverlays;
private String lat, lng;

@Override
protected boolean isRouteDisplayed() {
return false;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listing_map);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);

mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(
R.drawable.ic_launcher);
itemizedoverlay = new HelloItemizedOverlay(drawable);
getExtras();
}

private void getExtras() {
Bundle extras = getIntent().getExtras();
lat = extras.getString("lat");
lng = extras.getString("lng");
Log.v("--", lat+" "+lng);
float latitude=Float.valueOf(lat);
float longitude=Float.valueOf(lng);
GeoPoint point = new GeoPoint((int)(latitude * 1E6),(int)(longitude * 1E6));
OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!",
"I'm in Mexico City!");
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}

}

所以一切正常,但是当我想显示一些东西时, map 是空白的,我从模拟器中得到了这个:

06-02 17:09:26.921: E/MapActivity(1772): Couldn't get connection factory client

那么我哪里出错了,我该如何解决这个问题?

最佳答案

这里有两个问题。在 v2 中你不能使用

<uses-library android:name="com.google.android.maps" />

,并且您的布局无效。如果你想要全布局 map ,只需使用这个:

<FrameLayout
... >

<fragment
...
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
</FrameLayout>

在您的 Java 代码中,使用 FragmentActivity 和:

    map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.your_id)).getMap();

这样,您将获得与 pre-honeycomb 设备的兼容性。祝你好运!

关于Android谷歌地图显示空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16897128/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com