2017-05-08 8 views
1

イメージピクセル座標を使用してリーフレットマップイメージオーバーレイにマーカーを追加する方法。リーフレットイメージオーバーレイマーカーをピクセル座標で追加

は、私は、x、yの画素点

チェック詳細はこのフィドルのリンクを言及することにより、画像座標の実際のピクセルxyをマップにマーカーを配置する必要があります。

var osmUrl = 'path/to/custom/image', 
 
    h = 709, 
 
    w = 709; 
 

 
var map = L.map('mapid', { 
 
    minZoom: 1, 
 
    maxZoom: 1, 
 
    center: [0, 0], 
 
    zoom: 1, 
 
    crs: L.CRS.Simple 
 
}); 
 

 
var southWest = map.unproject([0, h], map.getMaxZoom()); 
 
var northEast = map.unproject([w, 0], map.getMaxZoom()); 
 
var bounds = new L.LatLngBounds(southWest, northEast); 
 

 
L.imageOverlay(osmUrl, bounds).addTo(map); 
 
map.setMaxBounds(bounds); 
 
// var markerData = [[0,0],[185,362],[277,593],[307,354],[472,472],[473,568],[550,516],[535,370],[230,119]]; 
 

 

 
var marker = L.marker(map.layerPointToLatLng(map.containerPointToLayerPoint([185, 362]))); 
 
marker.addTo(map);
<div id="mapid" style="width:500px;height:400px;></div>

+0

このデモを確認する http://jsfiddle.net/1rLggm0z詳細 – selvanathan

+0

http://leafletjs.com/examples/crs-simple/crs-simple.htmlを読んでいますか? – IvanSanchez

+0

リーフレットを使用してマップ上に実際のピクセルx、yポイントのマーカーを配置できますか? – selvanathan

答えて

0

答えはイエスです。あなたのマップセンターは間違っていました。軸の原点は左上隅にあります。

var map = L.map('mapid', { 
    minZoom: -3, 
    maxZoom: 1, 
    center: [0, -709], 
    zoom: 1, 
    crs: L.CRS.Simple 
}); 

チェックthat fiddlethat other oneを確認します。

+0

ありがとうございました..それは動作します:) – selvanathan

+0

レスポンシブデザインで期待どおりに動作していません。 [こちら](http://jsfiddle.net/4whzLbve/)をチェックできますか? – selvanathan

関連する問題