2012-08-04 2 views
0

저는 ESRI Javascript API를 처음 사용했습니다. 나는 새로운 그래픽과 라인에 attr에 갈 필요가 무엇인지 이해가 안 돼요.문제 ESRI API 이해

var graphic = new esri.Graphic(geoPoint, symbol, attr, infoTemplate); 

이것은 내가 묶어 놓은 많은 샘플 코드의 마지막 부분입니다. 누군가 해결책을 제안 해 주시겠습니까? 도와 줘서 고마워. 아래는 전체 기능입니다. 전체 스크립트가 필요한지 알려주세요.

function onGeocodesuccess(results) 
{ 
console.log(results); 

    var geoPoint = new esri.geometry.Point(results.utm_x, results.utm_y, map.spatialReference); 
    var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 15, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,255]), 2), new dojo.Color([0,0,255])); 
    var infoTemplate = new esri.InfoTemplate("Attributes", "${*}"); 
    var graphic = new esri.Graphic(geoPoint, symbol, attr, infoTemplate); 
    map.graphics.add(graphic); 
    map.infoWindow.setTitle(graphic.getTitle()); 
    map.infoWindow.setContent(graphic.getContent()); 
    var screenPnt = map.toScreen(geoPoint); 
    map.infoWindow.show(screenPnt,map.getInfoWindowAnchor(screenPnt)); 


} 
+0

A [작업 데모] //jsfiddle.net)은 항상 유용합니다. –

+0

내가 작업 한 것은 모두 기본지도입니다. 난 당신이 자신의 HTML 파일에 복사 할 수 있도록 파일의 나머지 부분을 추가합니다. 바이올린은 그것이 헤어 졌던 방식을 좋아하지 않았습니다. @ JaredFarrish – user1015711

+0

당신은 무엇을하려고합니까? –

답변

1

"attr"변수는 필수 사항이 아니므로 선택 사항입니다. 위 예제에서 "attr"은 함수에 정의되어 있지 않거나 필요에 따라 제거됩니다.

var graphic = new esri.Graphic(geoPoint, symbol, attr, infoTemplate); 

는 ESRI는 Graphic Class에 대한 하강 문서를 가지고있다.

0

attr은 필드 이름과 필드 값의 키가있는 객체이며 일반적으로 서버에서 반환 된 기능으로 채워집니다. 새 그래픽을 만들 때 이는 선택적 매개 변수이며 새 그래픽을 만들 때 언급 한 바와 같이이 매개 변수를 생략 할 수 있습니다.이 경우에는 다음과 같을 수 있습니다.

function onGeocodesuccess(results) { 
console.log(results); 

var geoPoint = new esri.geometry.Point(results.utm_x, results.utm_y, map.spatialReference); 
var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 15, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,255]), 2), new dojo.Color([0,0,255])); 
var infoTemplate = new esri.InfoTemplate("Attributes", "${*}"); 
var graphic = new esri.Graphic(geoPoint, symbol); 
map.graphics.add(graphic); 
map.infoWindow.setTitle(graphic.getTitle()); 
map.infoWindow.setContent(graphic.getContent()); 
var screenPnt = map.toScreen(geoPoint); 
map.infoWindow.show(screenPnt,map.getInfoWindowAnchor(screenPnt)); 

}