【问题标题】:parsing XML data then plotting on map解析 XML 数据然后在地图上绘图
【发布时间】:2019-03-05 17:48:28
【问题描述】:

您好,我正在尝试在 Android 上解析一些原始 XML 数据,然后我想在地图上绘制地震图,但首先我无法显示纬度和经度……其次,我不知道如何绘制这个安卓中的谷歌地图

这是我的一些代码

           [// extract the text between <link> and </link>
                        links.add(xpp.nextText());
                    }
                }
                else if(xpp.getName().equalsIgnoreCase("geo:lat")){
                    if(insideItem){
                        //extract the text between <geo:lat> and </geo:lat>
                        lat.add(Double.valueOf(xpp.nextText()));
                    }
                }
                else if(xpp.getName().equalsIgnoreCase("geo:long")){
                    if(insideItem) {
                        //extract the text between <geo:lat> and </geo:lat>
                        lon.add(Double.valueOf(xpp.nextText()));;
                    }  }
            }
            //if we are at an END_TAG and the END_TAG is called "item"
            else if (eventType == XmlPullParser.END_TAG && xpp.getName().equalsIgnoreCase("item"))][1]

【问题讨论】:

    标签: android xml-parsing


    【解决方案1】:

    要将 geo:lat 和 geo:long 坐标集成到 Google 地图上,您可以将任何坐标输入到 URI 解析器(而不是 XML 解析器)中,如下所示:

    Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
    Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
    mapIntent.setPackage("com.google.android.apps.maps");
    if (mapIntent.resolveActivity(getPackageManager()) != null) {
        startActivity(mapIntent);
    }
    

    这个具体的例子是用来展示旧金山的。

    【讨论】:

    • 首先,感谢您的回复,我想从拉取的 XML 数据中整合坐标。没有硬编码....我什至无法让 geolat 和 geolong 出现在显示屏上,但我知道我得到了这些值,因为我之前收到一个错误,指出我使用了不正确的类型“52.443”从 xml 中提取的坐标..我不知道为什么它们不会与其余信息一起显示...我更正了类型但仍然没有
    • 如果你得到类似“不正确的类型”的东西,那么你肯定非常接近。也许解析器特定于数据类型,例如,它可能将您的坐标读取为字符串而不是双精度/浮点数,或者它必须是一定数量的小数位,比如 4 而不是 3。这就是我所能想帮忙 - 希望它会有所帮助。
    猜你喜欢
    • 2017-08-30
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多