2016-08-18 6 views
1

は私が Google Mapsで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); 
    } 
} 

、Googleマップが正常に追加されました。

しかし、私はAnalyticMapでスポットを追加すると、googlemapsが消えました。 AnalyticMapとスポットだけが表示されます。

<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> 

私はこれらの2を結合する方法Explored

でデモを使用できますか? GeoMapのGoogleマップとスポットで両方のマーカーを使用できますか?

私はマーカーを使用すると思っていましたが、マーカー上にデータを書き込めません(マーカーは書き込み可能です)。また、GeoMapにもLegendが必要です。

答えて

0

あなたはお互いの上に両方のマップを置いているようです。それは成功のためのレシピのようには聞こえません。アーティファクトの可視性が失われることもあります。アーチファクトの順序は、表示される内容と表示されない内容を決定するためです。

GeoMapコントロール(MapQuest)のデフォルトの地図プロバ​​イダに満足できない場合は、いつでもGoogleを含む他のプロバイダに変更できます。ここに文書化されているようにこれはmapConfigurationプロパティを使用して行われます。

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

あなたがマッププロバイダとしてGoogleを設定する場合は、Googleマップの上にジオのすべての通常の機能を使用することができ、私は何だと思うています探していた

同じ地図にGoogleマーカーとGeomapスポットの両方を使用することはできません。しかし、Geomapスポットがどのように見えるかをカスタマイズして、Googleマーカのように見えるようにすることができます。

+0

あなたの答えをありがとう!しかし、Spotは 'click'イベントのみを提供し、' hover'イベントはサポートしていないようですね? – Tina

+0

とにかくホバーを使用しないでください。モバイルデバイスでは使用できないため、フィオリの思考の仕組みにはうまく収まりません。本当に必要な場合は、Googleマップを使用しますが、両方を使用しないでください。 – jpenninkhof

+0

私は正しい設定を見つけることができ、Googleマップを統合するためにURLをどのように見なければならないのかを教えてください。これについて何も見つかりませんでした。 – Carsten

1

私は似たようなことをしています。これは、コントローラで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は、HereMapsのライセンスコードを置く場所です。

私もGoogleマップを使用しますが、MapProviderのURLを作成する方法を見つけるのが難しいです。

関連する問題