我正在开发一个 android 应用程序,我必须在其中显示我在以前的应用程序中做过一次的地图视图,但我在以前的应用程序中使用的密钥在他的应用程序中不起作用。它只是在应用程序中显示一个带有空白屏幕的引脚。我是否必须为每个项目使用不同的 Map 密钥,如果没有,请帮助我如何使用我以前的密钥。我也尝试生成一个新密钥,但返回了相同的密钥。
这是我使用的代码
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
btn=(Button)findViewById(R.id.mapbtn);
str1=getIntent().getStringExtra("LATITUDE");
str2=getIntent().getStringExtra("LONGITUDE");
mapView = (MapView)findViewById(R.id.mapView1);
//View zoomView = mapView.getZoomControls();
mapView.setBuiltInZoomControls(true);
//mapView.setSatellite(true);
mc = mapView.getController();
btn.setOnClickListener(this);
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = mapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
String coordinates[] = {str1, str2};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
p = new GeoPoint(
(int) (lat * 1E6),
(int) (lng * 1E6));
mc.animateTo(p);
mc.setZoom(17);
mapView.invalidate();
//mp.equals(o);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public boolean draw(Canvas canvas, MapView mapView,
boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
Paint mPaint = new Paint();
mPaint.setDither(true);
mPaint.setColor(Color.RED);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(2);
//---translate the GeoPoint to screen pixels---
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pin);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);
return true;
}
谢谢....