ui5:无法在地图上突出显示某个区域

时间:2017-03-23 03:48:17

标签: sapui5

我的代码: -

jQuery.sap.require( "sap.ui.vbm.AnalyticMap");
    var oMap = new sap.ui.vbm.AnalyticMap({
            width:"100%",
            height: '100%',
            plugin: false,
            regions: {
                template: new sap.ui.vbm.Region({
                    code: 'NA',
                    color: '#fff',
                })
            } 
        });
        return new sap.m.Page({
            title: "Maps",
            content: [oMap]
        });

我正在尝试突出显示地图上的某个区域,但可能是我没有正确关注API,感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您需要拥有您所在地区的GeoJSON文件才能在地图上显示。 GeoJSON文件在下面的地方搜索,按照here所述的给定顺序进行搜索。

  1. 服务器:端口/ SAP / BC / VBI /以GeoJSON / L0.json
  2. ./媒体/ analyticmap / L0.json
  3. 您必须在网关系统的MIME存储库中上传GeoJSON文件。您可以在Internet上找到许多GeoJSON的来源。

    http://www.naturalearthdata.com/downloads/

    http://www.gadm.org/country

    然而,许多这些来源将为您提供ShapeFiles。这些包含用于在地图上定义区域的地理空间矢量数据。 您必须使用GDAL将shapefile转换为geojson,或者如果您使用QGIS(像我一样),GDAL也将同时安装。

    GDAL:http://www.gdal.org/

    QGIS:http://www.qgis.org/en/site/forusers/download.html

    您可以运行以下命令将Shape文件转换为GeoJSON

    ogr2ogr -f "GeoJSON" target.json source.shp
    

    或者,如果您还想定义CRS

    ogr2ogr -f "GeoJSON" -s_srs EPSG:3857 -t_srs EPSG:4326 target.json source.shp
    

    您可以使用此geojson.io

    创建自己的区域

    获得GeoJSON文件后,可以将它们添加到MIME存储库中,也可以在应用程序中为目标GeoJSON提供路径

    sap.ui.vbm.AnalyticMap.GeoJSONURL = "/model/GeoJSON.json";
    
            var oMap = new sap.ui.vbm.AnalyticMap({
                width:"100%",
                height: '100%',
                plugin: false,
                regions: {
                    template: new Region({
                        code: 'NA',
                        color: 'rgba(184,225,245,1.0)',
                    })
                } 
            });
    

    您也可以参考此article