2017-02-08 6 views
0

この問題は、OpenLayerよりもJavaScriptの問題です。私のプロジェクトでhttp://openlayers.org/en/v3.0.0/examples/graticule.htmlOpenLayersで目盛りを表示できません3

、「マップ」オブジェクトがmap.jsファイルに設定され、前のindex.htmlにロードされた:私は

サンプルはちょうど私自身のWMSサーバーで正常に動作...推測しますgraticule.jsファイルこれは、期待どおりに地図を表示します。

graticule.jsで今私の非常に簡単なコード

"use Strict"; 
var graticule = new ol.Graticule(); 
graticule.setMap(map); 
map.getViewPort().style.cursor = 'crosshair'; 

ふつう楽しい部分

var map = new ol.Map({ 
    layers: [ 
     new ol.layer.Tile({ 
      source: new ol.source.OSM() 
     }) 
    ], 
    target: 'map', 
}); 

: 私は(!SOマップオブジェクトはokです)十字を見ることができますが、てsetMap(マップ)デバッグコンソールでエラー "TypeError:a is null"をスローするだけです。

私はJavascriptのエキスパートではないので、比較的愚かな理由があります。

お願いします、私は立ち往生しています。

+0

ちょうどあなたの 'graticule.setMap(マップ)' '行うにconsole.log前に(map); 'を実行し、コンソールがまだロードされているかどうか確認してください。それが別のファイルにある場合は、スコープに含まれていない可能性もあります。両方のファイルを投稿する必要があります。 – Timh

+0

私が言ったように、私はカーソルを変更することができるので、マップオブジェクトは範囲内です。また、map.jsには、基本レイヤーが1つのレイヤーでOpenLayerマップを作成するためのスニペットが含まれています。私がマップオブジェクトをログすると、そのプロパティが表示されます(a、b、c、d変数を持つ縮小された形式で、手がかりですか?) – Zofren

+0

すべてのコードを投稿できますか?私たちはjsfiddleを作り、それをデバッグすることができます。 – tfidelis

答えて

0

問題を解決しました。

私は、ビューのプロパティでol.proj.Projectionを使用しますが、私は直接、文字列の投影コードを使用する必要があります。

var view = new ol.View({ 
    center: center, 
    zoom: 6, 
    projection: 'EPSG:4326' 
}); 
関連する問題