使用特定坐标从我的Android应用中打开Goog​​le地图

时间:2018-02-01 06:05:55

标签: android arrays google-maps onclick coordinates

我的应用程序有一个地方列表,当按下时,它将打开到其特定页面,显示更多地方的信息。

页面内部是一个ImageView(地图标记),如果按下该图标,它将打开一个具有该地点特定坐标的Google Map App。

它是这样的: 地点列表 - >一个地方的特定页面 - >带有坐标的GOOGLE MAP APP(请查看附带的图片。)

View Image Here.

此代码适用于仅打开一个地方打开Goog​​le地图应用程序。

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(地图标记),这样如果按下它,它将根据它所在的位置打开Goog​​le Map App?

这是我的出发点:

    String[] attractgeocoordinates = {
//          Place #1
            "13.5735488,124.1371557",

//         Place #2
            "13.7077914,124.3876623",
}

谢谢!

4 个答案:

答案 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);