2013-02-21 1 views
0

J'essaie de mettre en mémoire tampon un graphique dessiné sur google map. Mais il semble qu'il ne soit pas capable de faire le tampon.tampon un graphique dessiné sur google maps api à l'aide du serveur ArcGIS

J'ai un auditeur de dessin:

google.maps.event.addListener(drawingManager, 'overlaycomplete', function(evt) { 
    event = evt; 
    ... 
    }); 

Ensuite, la nécessité de la fonction tampon pour tamponner le ce graphique:

function GmapBuffering() { 
    gsvc = new esri.tasks.GeometryService(gsvcURL); 

    //setup the buffer parameters 
    var params = new esri.tasks.BufferParameters(); 
    params.distances = [dojo.byId("distance").value]; 
    params.bufferSpatialReference = gmaps.ags.SpatialReference.WEB_MERCATOR; 
    params.outSpatialReference = gmaps.ags.SpatialReference.WEB_MERCATOR; 
    params.unit = eval("esri.tasks.GeometryService." + dojo.byId("unit").value); 
    params.geometries = [event.overlay]; 

    gsvc.buffer(params, function(results, err) { 
    console.log(results); 
    if (!err) { 
     var g= results.geometries[i][j]; 
     g.setMap(Gmap); 
     buffers.push(g); 
    } else { 
     alert(err.message + err.details.join(',')); 
    } 
    }); 
} 

Voilà le problème, je suis une erreur comme suit:

TypeError: geom.toJson is not a function http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.3 Line 34

On dirait arcgis GeometryService n'est pas en mesure de reconnaître e graphique "événement". Toutes les idées seraient appréciées!

Merci.

Répondre

2

J'ai résolu le problème. L'erreur a été provoquée par la façon dont je définis le GeometryService. Supposons que nous ayons l'URL d'arcgis GeometryService.

Pour faire tampon en utilisant l'API Google Maps 3, nous devons définir GeometryServiceas comme suit:

var gsvcURL = "http://localhost:6080/arcgis/rest/services/Utilities/Geometry/GeometryServer"; 
var gsvc2 = new gmaps.ags.GeometryService(gsvcURL); 

Cet exemple est utile: http://google-maps-utility-library-v3.googlecode.com/svn-history/r168/trunk/arcgislink/examples/buffer.html