Anche se questo è tecnicamente possibile, a meno che non siete molto attenti, è altamente probabile cadere fallo del qui Maps Location Services Terms and Conditions - in particolare le due clausole di seguito:
5 RESTRIZIONI
(ii) Non sarà possibile ricomporre più immagini statiche della mappa per visualizzare una mappa che> è maggiore di quella consentita nella documentazione di Location Platform Services;
sottosezione 5 (ii) si vieta l'uso del RESTful Map API entro Open Layers poiché vi sarà effettivamente in affiancamento Mappa Immagini insieme.
(iv) Lei non rimuovere o oscurare i diritti d'autore o marchio accorge o altri avvisi simili o marcature o leggende dalla posizione Platform Services se comunicazioni tali, marcature, leggende o altri marchio provengono da NAVTEQ o una terza parte;
sottosezione 5 (iv) è stato progettato per impedire a qualcuno utilizzando i dati delle mappe, senza la corretta attribuzione in quanto Nokia si è tenuto per visualizzare i diritti d'autore sulle sue mappe in cui i dati della mappa è stata acquistata presso terzi.
Il modo più semplice per evitare questo problema sarebbe utilizzare lo HERE Map API for JavaScript, che è pubblicamente disponibile sul piano di base e già visualizza correttamente tutte le informazioni sul copyright necessarie.
Se siete determinati a utilizzare i livelli di Open per visualizzare le mappe di Nokia, si avrebbe bisogno di utilizzare direttamente il servizio Map Piastrelle di Nokia (Il Servizio Mappa Tile fa supporto TMS) - Tuttavia, questo è il servizio è disponibile solo per i clienti aziendali . Per accedere a questo si avrebbe bisogno di:
- "Richiesta di un pacchetto personalizzato con più funzioni" dal Pricing plans page - è sufficiente fare clic sul pulsante "Contattaci".
- Si potrebbe quindi derivare uno strato
OpenLayers.Layer.XYZ
come illustrato nel frammento di codice qui sotto:
(Avrete bisogno di utilizzare l'URL corretto, APP_ID e Token ovviamente)
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: "© 2013 Nokia</span> <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());
Questo ancora non è necessariamente conforme a 5 (iv), tuttavia, poiché il testo corretto per l'attribuzione dei diritti d'autore dovrà essere ottenuto dal server in fase di esecuzione.
Sto cercando di usare il TMS, ma non riesce a trovare il modo. Sto provando a testare il piano base ora. – Jack
Dove posso trovare alcuni esempi di TMS per l'utilizzo della mappa Nokia. – Jack
@CaoLu Il piano di base non include il servizio Tile Tile: sarà ** necessario un piano aziendale. Utilizza il link ** Contattaci ** come spiegato sopra per ottenere l'accesso. Per quanto riguarda l'accettabilità dell'uso di Open Layers all'interno dei T & C, questa è una decisione commerciale. La risposta più semplice sarebbe utilizzare la [API JavaScript] (http://developer.here.com/javascript_api) –