Android 如何以编程方式在google地图中显示特定位置?
所以最终我不得不回到这里再次问这个问题。我在谷歌上搜索了很多关于这个问题的信息。有这么多的解决方案,它们非常令人困惑。而且,大多数都是在Eclipse中完成的,他们说要改变路径,用Eclipse和bla-bla初始化它 问题描述: 在我的应用程序(在android studio中)中,我有一个名为Map view的项目,我希望一旦用户单击它,它就会进入Map view页面,并在地图中找到该地址(我在代码中提到过)。我怎么能这么做 内容:Android 如何以编程方式在google地图中显示特定位置?,android,android-layout,google-maps-android-api-2,android-mapview,android-maps-v2,Android,Android Layout,Google Maps Android Api 2,Android Mapview,Android Maps V2,所以最终我不得不回到这里再次问这个问题。我在谷歌上搜索了很多关于这个问题的信息。有这么多的解决方案,它们非常令人困惑。而且,大多数都是在Eclipse中完成的,他们说要改变路径,用Eclipse和bla-bla初始化它 问题描述: 在我的应用程序(在android studio中)中,我有一个名为Map view的项目,我希望一旦用户单击它,它就会进入Map view页面,并在地图中找到该地址(我在代码中提到过)。我怎么能这么做 内容: .............................
................................
................................
static {
// Add 4 sample items.
addItem(new DummyItem("1", "Shopping center details"));
addItem(new DummyItem("2", "Homepage"));
addItem(new DummyItem("3", "Contact"));
addItem(new DummyItem("4", "Map View"));
}
.................................
..............................
ItemDetailFragment:
.................
....................
}else if(mItem.equals("4")){//4. Map View
/*locate the following address in google map:
Times Square
Manhattan, NY 10036
United States
*/
rootView = inflater.inflate(R.layout.fragment_map_detailed, container, false);
WebView webview = (WebView) rootView.findViewById(R.id.webView2);
webview.setWebViewClient(new WebViewClient());
}
..............................
......................
fragment_map_detailed.XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
</LinearLayout>
您可能希望在启动活动时显示地图上的标记。 标记不操作或寻址,而是基于坐标。 对于您提到的地址,它将如下所示:
@Override
public void onMapReady(GoogleMap map) {
map.addMarker(new MarkerOptions()
.position(new LatLng(40.758887, -73.985152))
.title("The Times Square"));
}
有关标记的详细信息:
关于从地图活动开始的更多信息(如果您还没有完成,您必须查看那里):我建议您将问题分解为更小的部分。您的第一个问题是您需要从一个地址获取lat lng中的位置。为此,您应该使用地理编码器。像这样的 在那之后,就要建立一个谷歌地图了。为此,您应该遵循上发布的指南 然后使用类似
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(locationFromGeocoder, 16));
将谷歌地图移动到您在地理编码器中找到的地址
您可能不应该在此处使用webview。原生的谷歌地图支持要好得多。我不知道为什么你一直在寻找eclipse项目,因为android studio现在已经相当标准了
祝你好运,编码愉快。进入maps.google.com,右键单击某个位置,然后单击“what is there”(在android应用程序中没有必要),这是地理编码器的作用,因此更容易获得coords。然后你可以在将来使用任何你想要的地址,而不是在应用程序中硬编码lat和long。