Android 如何以编程方式在google地图中显示特定位置?

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页面,并在地图中找到该地址(我在代码中提到过)。我怎么能这么做 内容: .............................

所以最终我不得不回到这里再次问这个问题。我在谷歌上搜索了很多关于这个问题的信息。有这么多的解决方案,它们非常令人困惑。而且,大多数都是在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。