У меня есть приложение SAPUI5, которое должно отображать пятна на элементе управления GeoMap. Он отлично работает, пока я использую HEREMaps в качестве поставщика. Однако компания хотела бы, чтобы я использовал Карты Google. Я не могу найти никакой информации о том, как настроить MapProvider для элемента управления GeoMap для использования Карт Google.Как использовать Карты Google с помощью элемента управления GeoMap SAPUI5
Здесь (в основном) мой контроль GeoMap:
<vk:content>
<vk:ContainerContent title="Map" icon="sap-icon://choropleth-chart">
<vk:content>
<vbm:GeoMap id="GeoMap" width="100%" height="100%">
<vbm:vos>
<vbm:Spots
click="onClickItem"
contextMenu="onContextMenuItem"
id="caseTimeMapSpots"
items="{path: '/CaseEvents/results'}"
posChangeable="true"
scaleChangeable="true"
>
<vbm:items>
<vbm:Spot
id="Spot"
position="{Longitude};{Latitude};0"
tooltip="{EventName} - {path: 'EventDatetime', formatter: '.formatDate'} {path: 'EventDatetime', formatter: '.formatTime'}"
type="Warning"
click="onClickSpot"
contextMenu="onContextMenuSpot"
text="{EventName}"
scale="{path: 'DeleteInd', formatter: '.formatScale'}"
/>
</vbm:items>
</vbm:Spots>
</vbm:vos>
</vbm:GeoMap>
</vk:content>
</vk:ContainerContent>
</vk:content>
А вот где я поставил MapProvider в мой контроллер:
var oGeoMap = this.getView().byId("GeoMap");
var oMapConfig = {
"MapProvider": [{
"name": "HEREMAPS",
"type": "",
"description": "",
"tileX": "256",
"tileY": "256",
"maxLOD": "20",
"copyright": "Tiles Courtesy of HERE Maps",
"Source": [
{
"id": "s1",
"url": "https://1.base.maps.cit.api.here.com/maptile/2.1/maptile/newest/normal.day/{LOD}/{X}/{Y}/256/png8?app_id=XXX"
},
{
"id": "s2",
"url": "https://2.base.maps.cit.api.here.com/maptile/2.1/maptile/newest/normal.day/{LOD}/{X}/{Y}/256/png8?app_id=XXX"
}
]
}],
"MapLayerStacks": [{
"name": "DEFAULT",
"MapLayer": {
"name": "layer1",
"refMapProvider": "HEREMAPS",
"opacity": "1.0",
"colBkgnd": "RGB(255,255,255)"
}
}]
};
oGeoMap.setMapConfiguration(oMapConfig);
oGeoMap.setRefMapLayerStack("DEFAULT");
oGeoMap.setInitialZoom(13);
oGeoMap.setInitialPosition("-97.57;35.57;0");
Кто это сделал с помощью Google Maps? Как настроен MapProvider?
Спасибо.
Это выполнимо .. его очень похож на один из приведенных выше .. Вы можете иметь РОМ для отображения холста и карты загрузки onAfter рендеринга в контроллере .. –
Спасибо за ответ. Да, все, кажется, думают, что это выполнимо, но никто, кажется, не знает, что добавить в URL или для имени. Если вы знаете специфику, можете ли вы поделиться ими? Благодарю. – donkeyhotay
http://jasper07.secondphase.com.au/openui5-googlemaps/ –