我有几个带有JSON格式描述的标记(但我可以使用另一个)。我如何从Android应用程序中的谷歌地图(v2)中打开它?
数据示例:
[
{
"name":"Ice Cream Daydream",
"description":"OTR;33 E 12th St,</div>Cincinnati, OH 45202<br><img src=",
"lon":-84.513634,
"lat":39.108456,
"tour":"otr",
"image":""
},
{
"name":"Into the Renaissance",
"description":"OTR;1519 Vine St,</div>Cincinnati, OH 45202<br><img src=",
"lon":-84.516068,
"lat":39.11235,
"tour":"otr",
"image":""
},
{
"name":"Know Theater Murals",
"description":"OTR; </div>1120 Jackson St,Cincinnati, OH 45202<br><img src=",
"lon":-84.513672,
"lat":39.108154,
"tour":"otr",
"image":""
}
]
答案 0 :(得分:0)
在XML文件中
<FrameLayout
android:id="@+id/mapContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
在Java文件中
FrameLayout mapContainer = (FrameLayout) findViewById(R.id.mapContainer);
FragmentManager fm = getFragmentManager();
MapFragment mapFragment = MapFragment.newInstance();
fm.beginTransaction().replace(R.id.mapContainer, mapFragment).commit();
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
GoogleMap mMap = googleMap;
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
addMarks(mMap);
});
}
添加多个标记
private void addMarks(GoogleMap googleMap) {
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (int i = 0; i < list.size(); i++) {
LatLng latLng = new LatLng(latitute, longitute);
builder.include(latLng);
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title(storeLocation);
}
}