我的应用程序有一个地方列表,当按下时,它将打开到其特定页面,显示更多地方的信息。
页面内部是一个ImageView(地图标记),如果按下该图标,它将打开一个具有该地点特定坐标的Google Map App。
它是这样的: 地点列表 - >一个地方的特定页面 - >带有坐标的GOOGLE MAP APP(请查看附带的图片。)
此代码适用于仅打开一个地方打开Google地图应用程序。
public void MapClick (View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:13.669595,124.4130464?q=13.669595,124.4130464(Binurong Point)"));
startActivity(intent);
}
如何将数组中的坐标传递给ImageView(地图标记),这样如果按下它,它将根据它所在的位置打开Google Map App?
这是我的出发点:
String[] attractgeocoordinates = {
// Place #1
"13.5735488,124.1371557",
// Place #2
"13.7077914,124.3876623",
}
谢谢!
答案 0 :(得分:1)
试试这个:
String[] attractgeocoordinates = {"13.5735488,124.1371557", "13.7077914,124.3876623"};
String[] mainLatLng =attractgeocoordinates[0].split(",");
String lattitude=mainLatLng[0];
String longitude=mainLatLng[1];
String geoUri = "http://maps.google.com/maps?q=loc:" + lattitude + "," + longitude + " (" + Binurong Point + ")";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(geoUri ));
context.startActivity(intent);
答案 1 :(得分:1)
您必须从列表视图中获取所选位置并访问该特定位置 值并通过意图将内容传递给图像视图。
Example :
listView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id)
{
Intent intent=new Intent(ListviewActivity.this,ImageviewActivity.class)
intent.putString("value1",attractgeocoordinates[0]);
intent.putString("value1",attractgeocoordinates[1]);
startactivity(intent);
}
}
});
}
答案 2 :(得分:0)
可能重复的回答here
虽然,作为一个额外的例子:
String urlAddress = "http://maps.google.com/maps?q="+ mLatitude +"," + mLongitude +"("+ mMarkerName + ")&iwloc=A&hl=es";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
intent.setPackage("com.google.android.apps.maps");
if (intent.resolveActivity(getActivity().getPackageManager()) != null) {
startActivity(intent);
}
答案 3 :(得分:0)
在此更改您的拉特朗格坐标。它将启动谷歌地图应用程序并为地图中的坐标绘制图钉。
String latlng=13.326574+","+75.770282+("CSM");
Uri mapUri = Uri.parse("geo:0,0?q="+latlng);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);