2016-08-26 12 views
0

정점을 편집 할 때 정점 기호를 SimpleMarkerSymbol 및 TextSymbol로 바꾸고 싶습니다.하지만 이는 불가능한 것처럼 보입니다. 내가 어떻게이 일을 할 수 있겠 니?합성 기호를 만들 수 있습니까?

enter image description here

나는 그것이 불가능하다 결론에 도달 한 API 보는 시간을 복용 후 : I는 다음과 같이 드래그의 모양 (텍스트 + 원)합니다. 여기 내 해결 방법입니다 :

editor.on("vertex-move", args => { 
    let map = this.options.map; 
    let g = <Graphic>args.vertexinfo.graphic; 
    let startPoint = <Point>g.geometry; 
    let tx = args.transform; 
    let endPoint = map.toMap(map.toScreen(startPoint).offset(tx.dx, tx.dy)); 

    // draw a 'cursor' as a hack to render text over the active vertex 
    if (!cursor) { 
     cursor = new Graphic(endPoint, new TextSymbol({text: "foo"})); 
     this.layer.add(cursor); 
    } else { 
     cursor.setGeometry(endPoint); 
     cursor.draw(); 
    } 
}) 
+0

'vertex-move'핸들러에 연결하여 '커서'그래픽의 위치를 ​​만들고 업데이트했습니다. 그것은 하나의 그래픽에 두 개의 심볼이 있다는 착각을 불러 일으 킵니다. –

+0

여기에 코드를 추가하십시오 ... 지금까지 시도한 것은 무엇이든간에 ... –

+0

저는 실제 코드를 추가했지만 원래는 vertextinfo.graphic을 숫자로 사용하여 원하는 효과를 얻었습니다.이 " 드래그 기능이 항상 위에 있기 때문에 "커서"그래픽이 배경이됩니다. –

답변

0

글쎄,이 불가능 지금까지 단는 ArcGIS JS API를 사용하면 응용 프로그램에 대한 온라인 하나의 심볼을 생성 할 수있는 새로운 응용 프로그램/플랫폼을 제공 보인다 얻을 수 있습니다.

온라인에서 모든 종류의 기호 (ESRI 제공)를 간단하게 만들 수 있으며 응용 프로그램에 붙여 넣기 만하면되는 플라이 코드를 제공합니다.

이렇게하면 응용 프로그램에 적합한 유형의 다른 기호를 시도하는 데 도움이됩니다.

응용 프로그램 URL :이 당신을 도울 것입니다 희망 https://developers.arcgis.com/javascript/3/samples/playground/index.html

:

+0

그건 내가 찾고있는 것이 아닙니다. 이것은 단지 하나의 스타일을위한 JSON을 생성합니다. 여러 스타일을 하나의 복합 스타일로 결합하는 방법을 찾고 있습니다. OpenLayers가이 작업을 매우 잘 수행합니다. https://cdn.rawgit.com/ca0v/ol3-lab/v3.17.1/rawgit.html?run=labs/style-lab&debug=1 –

+0

예. 두 개의 기호 .... –

0

당신은 글꼴 유형은 원 안에 숫자를 가지고있는 점을 만들 TextSymbol를 사용할 수 있습니다. 여기에 그러한 글꼴을 찾을 수있는 곳이 있습니다. http://www.fontspace.com/the-fontsite/combinumerals

정확히 이미지와 비슷하지만 충분히 가깝지는 않습니다. 또한 약간의 제한은 IE9 이하에서 작동하지 않을 것입니다 (이것은 흰 테두리를 얻기 위해 후광을 사용하면서 esri 문서에 따라 다릅니다). 다중의 http://jsbin.com/hayirebiga/edit?html,output 사용 지점

PS : 여기서

는 작업 Jsbin이고 I는 OTF TTF로 변환하고 선택적베이스 64와 폰트를 첨가 하였다. 나는 jtbin에 ttf 나 otf를 추가 할 수 없기 때문에 그것을했다.

+0

내 이미지는 예제 일뿐입니다. 나는 합성물을 만드는 방법이 없다고 생각합니다. 각각 하나의 스타일로 여러 개의 Geometry를 작성하고 모든 Geometry를 동기화 상태로 유지해야합니다. 각각 클릭 핸들러, 속성 복제 등이 필요하기 때문에 끔찍한 고통입니다. –