gpt4 book ai didi

android - 在 Android 设备上显示 Google 我的 map

转载 作者:行者123 更新时间:2023-11-29 02:16:36 26 4
gpt4 key购买 nike

我在谷歌地图“我的 map ”中创建了一个自定义 map 。现在我想在 android 设备上显示该 map ,但不仅仅是将其作为网页打开,而是使用 MapView 或类似的东西显示它。我希望能够以我在 map 等上标记的地方为中心。我的自定义 map 是一张包含城市中所有加油站位置的 map 。

有人可以指出我正确的方向或描述这个的文章(我找不到任何东西)。

最佳答案

我能理解的是,您需要创建可以在您的设备上显示的 map 应用程序,并且您需要该 map 上所有加油站的列表。
是写吗?
如果你知道那个地方的纬度和经度,你可以通过在那个特定的点上做标记来做到这一点。

公共(public)类 helloMap 扩展 MapActivity {
/** 在第一次创建 Activity 时调用。 */

MapView mapView; 
MapController mc;
GeoPoint p;
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);

//---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.pushpin);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);
return true;
}

public boolean onTouchEvent(MotionEvent event, MapView mapView)
{
//---when user lifts his finger---
if (event.getAction() == 1) {
GeoPoint p = mapView.getProjection().fromPixels(
(int) event.getX(),
(int) event.getY());
Toast.makeText(getBaseContext(),
p.getLatitudeE6() / 1E6 + "," +
p.getLongitudeE6() /1E6 ,
Toast.LENGTH_SHORT).show();
}
return false;
}

}



@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mapView = (MapView) findViewById(R.id.mapView);
LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);
View zoomView = mapView.getZoomControls();

zoomLayout.addView(zoomView,
new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
mapView.displayZoomControls(true);

mc = mapView.getController();
String coordinates[] = {"22.70", "72.80"};
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(6);
mapView.invalidate();

}

@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}

}...

如果您想存储位置,则可以成对存储该特定加油站的纬度,经度。

即使您不知道经纬度,您也可以使用 GeoCoder 类来做到这一点。

这是回答你的问题吗

关于android - 在 Android 设备上显示 Google 我的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3306950/

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