2016-08-18 11 views
1

내가 Google지도로 Visual Business GeoMap을 사용하는 방법은 무엇인가요?

My.view.xml GOOGLEMAPS

GeoMap 명소와 전설을 추가 할이가 작동

 <l:FixFlex> 
      <l:flexContent> 
       <vk:MapContainer autoAdjustHeight="true"> 
        <vk:content> 
         <vk:ContainerContent titile="test"> 
          <vk:content> 

           <vbm:AnalyticMap id="map"></vbm:AnalyticMap> 

          </vk:content> 
         </vk:ContainerContent> 
        </vk:content> 
       </vk:MapContainer> 
      </l:flexContent> 
     </l:FixFlex> 

My.controller.js

var mapDom = this.getView().byId("map").getDomRef(); 
    onAferRendering: function() { 
     jQuery.sap.includeScript(
     "https://maps.googleapis.com/maps/api/js?key=XXX", 
     null, 
     function() { 
      ... 
      mainmap =new google.maps.Map(mapDom, mapProp); 
    } 
} 

, GoogleMap으로 성공적으로 추가됩니다.

하지만 AnalyticMap에 스팟을 추가하면 googlemaps가 사라집니다. AnalyticMap 및 Spots 만 표시됩니다.

<l:FixFlex> 
    <l:flexContent> 
     <vk:MapContainer autoAdjustHeight="true"> 
      <vk:content> 
       <vk:ContainerContent titile="test"> 
        <vk:content> 
         <vbm:AnalyticMap id="map"> 
          <vbm:vos> 
           <vbm:Spots items="{/Spots}" click="onClickItem" contextMenu="onContextMenuItem"> 
            <vbm:Spot position="{pos}" tooltip="{tooltip}" type="{type}" text="{text}" click="onClickSpot" contextMenu="onContextMenuSpot" /> 
           </vbm:Spots>         
          </vbm:vos> 
         </vbm:AnalyticMap>      
        </vk:content> 
       </vk:ContainerContent> 
      </vk:content> 
     </vk:MapContainer> 
    </l:flexContent> 
</l:FixFlex> 

는 어떻게이 두 가지를 결합 Explored

데모를 사용할 수 있습니까? Google지도 및 GeoMap의 두 마커를 모두 사용할 수 있습니까?

마커 만 사용하고 있다고 생각했지만 마커에 데이터를 쓸 수 없습니다 (단, 마커에 쓸 수있는 방법은 없습니다). 또한 GeoMap에 Legend가 필요합니다.

답변

0

두지도를 서로 겹쳐서 표시하는 것처럼 보입니다. 그것은 성공을위한 조리법처럼 들리지 않습니다. 서로 위에 놓여진 순서에 따라 눈에 보이는 것과 그렇지 않은 것이 결정되므로 이슈의 가시성을 잃을 수도 있습니다.

GeoMap 컨트롤 (MapQuest)의 기본지도 공급자가 만족스럽지 않다면 언제든지 Google을 포함하여 다른 공급자로 변경할 수 있습니다. 여기에 설명 된대로이 작업은 mapConfiguration 속성을 사용하여 수행됩니다 : 당신이 당신의지도 공급자로 구글을 구성하는 경우

https://sapui5.hana.ondemand.com/docs/api/symbols/sap.ui.vbm.GeoMap.html#setMapConfiguration

, 당신은 내가 생각하는 구글지도의 상단에으로 GeoMap의 모든 일반적인 기능을 사용할 수 있습니다 무엇인지 찾고 있었다.

같은지도에서 Google 마커와 Geomap 스폿을 동시에 사용할 수는 없습니다. 그러나 Geomap 스폿의 모양을 사용자 정의하여 Google 마커처럼 보이게 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 하지만 Spot은'click' 이벤트 만 제공하고'hover' 이벤트는 지원하지 않는 것 같습니다. – Tina

+0

어쨌든 호버를 사용하지 마십시오. 휴대 기기에서는 사용할 수 없으므로 Fiori의 생각에 잘 맞지 않습니다. 정말로 필요하다면 Google지도를 사용하되 둘 다 사용하지 마십시오. – jpenninkhof

+0

올바른 설정을 찾을 수있는 포인터와 URL을 Google지도를 통합하는 방법을 알려줄 수 있습니까? 이것에 관해 무엇인가 발견 할 수 없었다. – Carsten

1

나는 비슷한 것을하고 있습니다. 이것은 컨트롤러에서 HEREMAPS를 맵 제공자로 설정하는 데 사용하는 특정 코드입니다. 당신이 HereMaps에 대한 귀하의 라이센스 코드를 어디다

  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"); 

위의 XXX입니다.

Google지도를 사용하고 싶지만 MapProvider의 URL을 작성하는 방법을 찾는 데 어려움이 있습니다.