2013-07-02 2 views
1

지도에서지도를 편집 할 수있는 다각형을 그릴 필요가 있습니다. 그래서 나는 example을 시도했다. 그러나 폴리곤은 편집 가능한 모드입니다 (예 : href="javascript:mapstraction.activateEdition();").Mapstraction - 다각형을 동적으로 그립니다.

나는 그것을 시도했다. 성공하지 못했습니다.

사용자가 편집 할 수있는 폴리곤을 만드는 방법과 10 개의 정점 폴리곤 만 유지하는 것도 가능합니다.

JS 코드

당신은 당신이 여기에서 얻을 수있는 버전을 사용하고 확인해야하므로 예 Mapstraction의 idelab 포크위한 것이라는
var polyPoint; 
var polyPoints = [] 
//Adding polygon to map 
    polyPoint = new mxn.LatLonPoint(17.447612 , 78.223686) 
    polyPoints.push(polyPoint); 
    polyPoint = new mxn.LatLonPoint(17.504593 , 78.306084) 
    polyPoints.push(polyPoint); 
    polyPoint = new mxn.LatLonPoint(17.471193 , 78.417320) 
    polyPoints.push(polyPoint); 
    polyPoint = new mxn.LatLonPoint(17.414201 , 78.470879) 
    polyPoints.push(polyPoint); 

    var polygon = new mxn.Polyline(polyPoints); 
    polygon.setClosed(true); 
    map.addPolyline(polygon) 

//Adding event listeners to map 
     mapstraction.markerChanged.addHandler(function(event,map,marker){ 
      alert('Marker moved to: '+marker.marker.location.lat+' , '+marker.marker.location.lon)}) 
     mapstraction.polylineChanged.addHandler(function(event,map,polyline){ 
      alert('Polyline modified: Now it has '+polyline.polyline.points.length+' vertices')}) 

답변

0

:

https://github.com/idelab/mxn

I을 idelab 버전이 여전히 지원되는지 확실치 않습니다. OpenLayers API가 처음 개발 된 이후로 변경되었다고 생각합니다. 올바른 버전을 사용하고 있다면 문제가있는 것일 수 있습니다.

편집 가능한지도는 Mapstraction의 트렁크 버전에서 지원되지 않습니다. 주로 모든지도 제공 업체가 지원하지 않기 때문에 Mapstraction의 일부로서 덜 유용합니다. 또한 대부분의 사람들은 그것을 요구하지 않기 때문에 라이브러리에 추가하려는 노력을 정당화하기가 어렵습니다.

OpenLayers를 사용하고 있고 공급자를 전환 할 필요가없는 경우 OpenLayers API에 대해 직접 프로그래밍을 고려해야합니다. 공급자를 전환 할 수 있어야 할 필요가 있다면 idelab repo (plopesc)의 소유자에게 연락하여 유스 케이스를 지원하는지 확인해야합니다.

관련 문제