gpt4 book ai didi

java - 谷歌地图不显示

转载 作者:搜寻专家 更新时间:2023-11-01 08:11:51 25 4
gpt4 key购买 nike

我正在制作一个显示谷歌地图的应用程序,但问题是:它不显示 map /卫星/任何东西。这只是一个很大的灰色地带。我已经添加了互联网权限以及图书馆和谷歌地图 API key ,我该如何解决这个问题???我正在使用的代码:

MapTabView.java:

public class MapTabView extends MapActivity implements OnClickListener {
public static final String TAG = "GoogleMapsActivity";
private MapView mapView;
private LocationManager locationManager;
Geocoder geocoder;
Location location;
LocationListener locationListener;
CountDownTimer locationtimer;
MapController mapController;
MapOverlay mapOverlay = new MapOverlay();
EditText SearchInput;
Button SearchButton;

@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
onTabStart();
initComponents();
mapView.setBuiltInZoomControls(true);
mapView.setSatellite(true);
mapController = mapView.getController();
mapController.setZoom(16);
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
if (locationManager == null) {
Toast.makeText(MapTabView.this,
"Location Manager Not Available", Toast.LENGTH_SHORT)
.show();
return;
}
location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location == null)
location = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location != null) {
double lat = location.getLatitude();
double lng = location.getLongitude();
Toast.makeText(MapTabView.this,
"Location Are" + lat + ":" + lng, Toast.LENGTH_SHORT)
.show();
GeoPoint point = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
mapController.animateTo(point, new Message());
mapOverlay.setPointToDraw(point);
List<Overlay> listOfOverlays = mapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
}
locationListener = new LocationListener() {
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
}

@Override
public void onProviderEnabled(String arg0) {
}

@Override
public void onProviderDisabled(String arg0) {
}

@Override
public void onLocationChanged(Location l) {
location = l;
locationManager.removeUpdates(this);
if (l.getLatitude() == 0 || l.getLongitude() == 0) {
} else {
double lat = l.getLatitude();
double lng = l.getLongitude();
Toast.makeText(MapTabView.this,
"Location Are" + lat + ":" + lng,
Toast.LENGTH_SHORT).show();
}
}
};
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 1000, 10f, locationListener);
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 1000, 10f, locationListener);
locationtimer = new CountDownTimer(30000, 5000) {
@Override
public void onTick(long millisUntilFinished) {
if (location != null)
locationtimer.cancel();
}

@Override
public void onFinish() {
if (location == null) {
}
}
};
locationtimer.start();
}

private void onTabStart() {
// TODO Auto-generated method stub
TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
tabHost.setup();

TabSpec spec2=tabHost.newTabSpec("Tab 1");
spec2.setIndicator("Map");
spec2.setContent(R.id.tab1);

TabSpec spec3=tabHost.newTabSpec("Tab 2");
spec3.setIndicator("Search");
spec3.setContent(R.id.tab2);

tabHost.addTab(spec2);
tabHost.addTab(spec3);
tabHost.setCurrentTab(1);
SearchButton = (Button)findViewById(R.id.SearchButton);
SearchButton.setOnClickListener(this);

}
public void onClick(View src) {
switch(src.getId()) {
case R.id.SearchButton:
SearchInput = (EditText)findViewById(R.id.SearchInput);
String SearchInputText = "";
SearchInputText = SearchInput.getText().toString();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0q=" + SearchInputText));
startActivity(intent);
break;
}
}

public MapView getMapView() {
return this.mapView;
}

private void initComponents() {
mapView = (MapView) findViewById(R.id.mapview);
}

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

class MapOverlay extends Overlay {
private GeoPoint pointToDraw;

public void setPointToDraw(GeoPoint point) {
pointToDraw = point;
}

public GeoPoint getPointToDraw() {
return pointToDraw;
}

@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow,
long when) {
super.draw(canvas, mapView, shadow);

Point screenPts = new Point();
mapView.getProjection().toPixels(pointToDraw, screenPts);

Bitmap bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.pinblue);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 24, null);
return true;
}
}

}

主.xml:

<?xml version="1.0" encoding="utf-8"?>

<TabHost android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tabHost"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TabWidget
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs"
/>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabcontent"
>



<LinearLayout
android:id="@+id/tab1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="60px" >


<TextView
android:id="@+id/txt2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Map" />

<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="1.12"
android:apiKey="09AeOreJeLtH579e3G74Icfle664gxXhbfh1O7Q"
android:clickable="true" >
</com.google.android.maps.MapView>
</LinearLayout>


<LinearLayout
android:id="@+id/tab2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="60px" >

<TextView
android:id="@+id/txt3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Search for gokart tracks" />

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<EditText
android:id="@+id/SearchInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="10.05" >

<requestFocus />
</EditText>

<Button
android:id="@+id/SearchButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@android:string/search_go" />
</LinearLayout>


<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/GoogleMapOpenText" />

</LinearLayout>

</FrameLayout>

</TabHost>

最佳答案

每当我没有看到 Google map 时,它最终都会成为以下问题之一:

  1. 我从错误的项目 keystore 中生成了我的散列,从而生成了 API key ——我使用一个 keystore 为应用程序签名,并使用另一个 keystore 生成了散列。
  2. 我没有包含 API key
  3. 我没有签署 APK 并将其安装到手机上进行测试。它必须是签名的 APK,否则将无法运行。

此外,您没有指定要用于测试的手机——我不认为它会在模拟器上运行,它必须是手机。

关于java - 谷歌地图不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947062/

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