2013-04-03 3 views
6

私はOpenLayersでNokia Here Maps REST APIを使用しようとしていますが、どのように見つけられないのですか。ここではopenlayerでnokiaのRESTマップAPIを使用できますか?

  1. Nokia Here MapsはOpenLayersで使用できますか?
  2. Nokia Here MapsはTMSをサポートしていますか?

OpenLayersまたはOpenScalesによるNokiaマップの使用方法を知っている人はいますか?

答えて

6

これはあなたが非常に気を付けないと、ここでマップの位置サービスTerms and Conditionsのファウルを下落する可能性が高い、技術的に可能であるが - 以下、特に2つの句:

5制限事項

( ii)複数の静的地図画像を一緒にステッチして、位置情報プラットフォームサービスの文書で許容されているより大きい地図を表示することはありません。あなたが効果的に一緒に地図画像をタイリングされますので、

五款(ii)はOpen LayersRESTful Map APIの使用を禁止します。

(IV)あなたは、このような通知、マーキング、伝説や他の ブランディングは、NAVTEQから発信するかどうか場所 プラットフォームサービスから著作権または商標表示 または他の同様の通知またはマーキングや伝説を削除するか、不明瞭ではないでしょうか第三者

サブセクション5(iv)は、地図データが第三者から購入された地図に著作権を表示する義務があるため、適切な帰属なしで地図データを使用している人を停止するように設計されています。

この問題を回避する最も簡単な方法は、HERE Map API for JavaScriptを使用することです。基本プランで一般公開されており、必要な著作権情報がすべて正しく表示されています。あなたのNokiaの地図を表示するには、[開くレイヤーを使用するように決定された場合

、あなたが直接、Nokiaの地図タイルのサービスを使用する必要があります(地図タイルサービスサポートTMSを行います) - しかし、このサービスは企業顧客にのみ利用可能です。ただ、「お問い合わせ」ボタンをクリックしてください -

  1. 「リクエストより多くの機能を持つカスタムパッケージ」Pricing plans pageから:これにアクセスするには、あなたがする必要があります。以下のコードスニペットに示すよう
  2. はその後、OpenLayers.Layer.XYZ層を導き出すことができます:

まだ

var map = new OpenLayers.Map({ 
    div: "map", 
    projection: "EPSG:900913", 
    layers: [ 
     new OpenLayers.Layer.XYZ(
      "HereMap", 
      [ 
       "MAP_TILE_BASE_URL/${z}/${x}/${y}/256/png8?lg=ENG&app_id=YOUR_APP_ID&token=YOUR_TOKEN" 
      ], 
      { 
       attribution: "&copy; 2013 Nokia</span>&nbsp;<a href='http://maps.nokia.com/services/terms' target='_blank' title='Terms of Use' style='color:#333;text-decoration: underline;'>Terms of Use</a></div> <img src='http://api.maps.nokia.com/2.2.4/assets/ovi/mapsapi/by_here.png' border='0'>", 
       transitionEffect: "resize" 
      } 
     ) 
    ], 
    center: [0, 0], 
    zoom: 1 
}); 

map.addControl(new OpenLayers.Control.LayerSwitcher()); 

この(正しいURLはもちろん、APP_IDとTOKENを使用する必要があります)実行時に著作権帰属の正しいテキストをサーバから取得する必要があるため、必ずしも5(iv)に準拠しているわけではありません。

+0

私はTMSを使用しようとしているが、どのように見つけることができません。私は今、基本計画をテストしようとしています。 – Jack

+0

どこでノキアマップを使用するためのいくつかのTMSの例を見つけることができます。 – Jack

+0

@CaoLu基本プランにMap Tile Serviceは含まれていません - あなたは**エンタープライズプランが必要です**。アクセスを得るには、上記の**連絡先**リンクを使用してください。オープンレイヤーの使用がT&C内で受け入れられるかどうかについては、これは商業的決定です。最も簡単な答えは[JavaScript API](http://developer.here.com/javascript_api) –

1

1はい、OpenLayersで使用できます。Jason Foxの答えですでに述べたように、n個のアプリケーションIDとトークンが必要です。 gmaps 2がリクエストするのと同じように。

私がしようとしているのは、OpenLayers.Layer.EventPaneを拡張する新しいレイヤーを作成して、彼のdom要素の内側にHereマップを追加することです。これはOpenLayers.Layer.Googleとよく似ていますが、どこから得たのでしょうか?

2はい。このプロバイダクラスはnokia.maps.map.provider.ImgTileProvideです。

また、次のテストは、ベースマップがTileProviderのinstanceofであることを実証している:

alert('' + (nokia.maps.map.Display.NORMAL instanceof nokia.maps.map.provider.ImgTileProvider)); 
関連する問題