在Android上将坐标添加到Google地图

时间:2019-03-06 09:23:59

标签: java android google-maps

我已经从URL解析了一些XML数据,以显示在Android设备上的列表视图中。由于本站点人员的一些研究和帮助,它可以按预期工作。

我现在要做的就是获取这些坐标,然后将地图添加到我的项目中,并创建一个单击事件监听器函数,以便当我单击一组特定的数据时,它可以显示在地图上...我不确定如何继续前进。我最终希望一次选择一个以在地图上查看,也可以选择一个包含所有坐标的较大地图视图

我将发布当前结果以及为我获取XML数据的代码。任何帮助将不胜感激。current results

Item Class的一部分

  public void setLat(Double lat) {
        this.lat = lat;
    }

    public Double getLon() {
        return lon;
    }

    public void setLon(Double lon) {
        this.lon = lon;
    }

    @Override
    public String toString() {
        return (new StringBuilder()).append("title: \n").append(title).append("\n")
                .append("link: ").append(link).append("\n")
                .append("geo-lat: ").append(lat).append("\n")
                .append("geo-lon: ").append(lon).toString();
    }
}

主要活动课程的一部分

   } else if (xpp.getName().equalsIgnoreCase("geo:lat")) {
                    if (insideItem) {
                        //extract the text between <geo:lat> and </geo:lat>
                        item.setLat(Double.valueOf(xpp.nextText()));
                    }
                } else if (xpp.getName().equalsIgnoreCase("geo:long")) {
                    if (insideItem) {
                        //extract the text between <geo:lat> and </geo:lat>
                        item.setLon(Double.valueOf(xpp.nextText()));
                    }
                }
            }

我只是不知道如何使用这些返回值来填充我的android项目中的地图

1 个答案:

答案 0 :(得分:0)

您将需要生成一个Google Maps API密钥。

放置一个ImageView并将此URL加载到该ImageView中:

https://maps.google.com/maps/api/staticmap?center=latitude,longitude&zoom=15&size=1280x720&sensor=false&markers=latitude,longitude&key=YOUR_API_KEY

在按钮的OnClickListener()上:

String uri = String.format(Locale.ENGLISH, "geo:%f,%f?q=%f,%f",
                    latitude,
                    longitude,
                    latitude,
                    longitude);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);

这将打开这些坐标的Google Maps应用。