How to launch map intent with a marker/overlay item at given latitude and longitude?

♀尐吖头ヾ 提交于 2019-12-03 07:52:52

问题


I have a latitude and longitude and I want to open google maps centred at that point. So i use the following code for it:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
    Uri.parse("geo:"+lat +","+lng));
startActivity(intent);

However, this does not place a marker on the center. I want to place some kind of marker at the the point I start with (and optionally some kind of name for it). Any idea how this can be achieved?


回答1:


You can use it like,

Showing Particular Place,

Uri uri = Uri.parse("geo:0,0?q=22.99948365856307,72.60040283203125
                                                               (Maninagar)");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Showing Route between to Places,

Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr="+23.0094408+","+72.5988541+"&
                            daddr="+22.99948365856307+","+72.60040283203125));
startActivity(intent);



回答2:


You can simply put latitude and longitude as extras to the intent like this:

Intent intent = new Intent();
    intent.putExtra("latitude", latitude);
    intent.putExtra("longitude", longitude);
    startActivity(intent);

And then fetch them from the MapActivity you've started:

Intent intent = getIntent();
    double latitude = intent.getDoubleExtra("latitude", 0.0);
    double longitude = intent.getDoubleExtra("longitude", 0.0);

Then you can use those values for anything you want. Hope this helps.



来源:https://stackoverflow.com/questions/9256801/how-to-launch-map-intent-with-a-marker-overlay-item-at-given-latitude-and-longit

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!