所以最终我必须回到这里再问一次。我在这个问题上搜索了很多。有这么多解决方案,它们非常令人困惑。而且,他们中的大多数是在Eclipse中完成的,他们说要改变路径,用eclipse和bla bla来调查它......
问题描述:
在我的应用程序中(在android studio中),我有一个名为 Map view 的项目,我希望一旦用户点击它,它应该采取地图视图页面并找到该地址(我在代码中提到过)在地图中。我怎么能这样做?
DummyContent:
................................
................................
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>
答案 0 :(得分:1)
您可能希望显示在开始活动时放置在地图上的标记。 标记不是在坐标上操作或地址。 对于您提到的地址,它将如下所示:
@Override
public void onMapReady(GoogleMap map) {
map.addMarker(new MarkerOptions()
.position(new LatLng(40.758887, -73.985152))
.title("The Times Square"));
}
有关标记的更多信息:https://developers.google.com/maps/documentation/android/marker 有关从地图活动开始的更多信息(如果你还没有完成,你必须看看那里):https://developers.google.com/maps/documentation/android/start
答案 1 :(得分:1)
我建议你把问题分解成更小的部分。您的第一个问题是您需要从地址获取lat lng的位置。为此,您应该使用Geocoder。像这样answer
之后,这是设置谷歌地图的问题。为此,您应该遵循developer.google.com
上发布的指南 然后使用之类的东西googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(locationFromGeocoder, 16));
将Google地图移动到您在地理编码器中找到的地址。
你可能不应该在这里使用webview。原生谷歌地图支持要好得多。不知道为什么你一直在寻找eclipse项目,因为android studio现在非常标准。
祝你好运,编码愉快。