我该如何在谷歌地图上显示标记



我正试图从RSS提要中传递从点击中收集的坐标和标题,我想从调试中将其传递到谷歌地图中,它确实传递了,但没有问题。我的问题是在地图上显示它。以下是带有意图的onclick:

public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent in = new Intent(getApplicationContext(), MapsActivity.class);
String georss = ((TextView) view.findViewById(R.id.georss)).getText().toString();
String title = ((TextView) view.findViewById(R.id.title)).getText().toString();
String[] latLng = georss.split(" ");
double lat = Double.parseDouble(latLng[0]);
double lng = Double.parseDouble(latLng[1]);;
LatLng location = new LatLng(lat, lng);
in.putExtra("location", location);
in.putExtra("title", title);
startActivity(in);
}
});

这是关于创建的谷歌地图:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
Intent intent = getIntent();
intent.getStringExtra("title");
intent.getStringExtra("location");

我只是不知道如何显示标记,所以当你点击它时,你可以看到标题。

intent.getStringExtra("location");

location参数是LatLang,而不是String,因此您无法从意图中获取位置。所以最好是分别发送lat和lng。

...
in.putExtra("lat", lat);
in.putExtra("lng", lng);
startActivity(in);
...
Intent intent = getIntent();
double lat = intent.getDoubleExtra("lat", 0);
double lng = intent.getDoubleExtra("lng", 0);
...

[编辑]

或者您可以像这样解析LatLang数据。

...
in.putExtra("location", location);
startActivity(in);
...
Intent intent = getIntent();
LatLng location = (LatLng) intent.getExtras().get("location");
...

通过这样做,您可以从意图中获取对象数据。但在这种情况下,您应该检查密钥,否则位置可能为空。谢谢

相关内容

  • 没有找到相关文章

最新更新