Пытаясь сделать пример карты, я нашел здесь http://codemagician.wordpress.com/2010/05/06/android-google-mapview-tutorial-done-right/
Проблема заключается в этом коде. В частности, компилятор, похоже, не знает, что такое MapView? Фактически, это также относится к android.graphics.drawable.Drawable. Я думал, что инструкция import решит это, но должен упустить какой-то другой шаг настройки.
Любая помощь оценивается.
package com.example.HelloGoogleMaps2;
import java.util.List;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
public class MainMap extends MapActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
**MapView** mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
**Drawable** drawable = this.getResources().getDrawable(R.drawable.icon);
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable,this);
GeoPoint point = new GeoPoint(30443769,-91158458);
OverlayItem overlayitem = new OverlayItem(point, "Laissez les bon temps rouler!", "I'm in Louisiana!");
GeoPoint point2 = new GeoPoint(17385812,78480667);
OverlayItem overlayitem2 = new OverlayItem(point2, "Namashkaar!", "I'm in Hyderabad, India!");
itemizedoverlay.addOverlay(overlayitem);
itemizedoverlay.addOverlay(overlayitem2);
mapOverlays.add(itemizedoverlay);
}
@Override
protected boolean isRouteDisplayed()
{
return false;
}
}
Проверьте свое целевое устройство при создании нового проекта. Это должен быть уровень Google APIs(Google Inc.)-API Level -
(независимо от того, что вы хотите).
как говорит doc: "у вас должен быть AVD
настроенный на использование цели Google APIs
, или использование устройства разработки, которое включает в себя Maps library
". И убедитесь, что у вас есть разрешение на Интернет
<uses-permission android:name="android.permission.INTERNET"/>
и поскольку MapView не включен в библиотеки Android по умолчанию, поэтому вам нужно указать в AndroidManifest.xml
<uses-library android:name="com.google.android.maps" />
и здесь хорошее место для начала с Google Maps
вы уверены, что у вас есть