如何在SAPUI5 GeoMap中配置使用basemap.at在线地图?
SAPUI5集成basemap.at在线地图配置方案
你当前的问题在于使用了静态瓦片URL,无法动态加载不同层级、坐标的地图瓦片。参考Google Maps的动态参数配置方式,basemap.at的瓦片URL需要替换为带SAPUI5占位符的格式,具体配置如下:
正确的MapProvider配置代码
var oMapConfig = { "MapProvider": [{ "name": "BASEMAP_AT", "Source": [{ "id": "s1", // 动态瓦片URL,替换静态值为SAPUI5占位符 "url": "https://maps{s}.wien.gv.at/basemap/bmaphidpi/normal/google3857/{LOD}/{X}/{Y}.jpeg?api_key=a73befc7-575f-48cb-8eb9-b05172a8c9e3", // 配置服务器子域名,实现负载均衡 "subdomains": "1,2,3,4" }] }], // 必须配置MapLayer关联MapProvider "MapLayer": [{ "name": "BASEMAP_LAYER", "refMapProvider": "BASEMAP_AT", "opacity": 1, "collections": ["s1"], "visibility": true }] };
关键配置说明
- 动态参数映射:basemap.at的瓦片URL规则中,层级对应
{z}、瓦片坐标对应{x}``{y},SAPUI5中用{LOD}替换层级、{X}``{Y}替换坐标 - 子域名配置:
subdomains属性指定服务器编号(1-4),SAPUI5会自动替换URL中的{s},避免单服务器请求限制 - 图层切换:basemap.at提供多种免费图层,比如
bmaporthofoto30cm(航拍图)、bmapgrau(灰度图),只需替换URL中的bmaphidpi即可切换 - API密钥:确保你的API密钥有效,免费密钥可通过data.gv.at平台申请
验证配置
将上述配置应用到你的SAPUI5地图控件后,即可动态加载basemap.at的瓦片地图,效果与之前Google Maps的动态URL一致。
内容的提问来源于stack exchange,提问作者barnabashub
相关产品推荐
相关产品推荐

