Google maps api 3 使用ArcGIS服务器在google maps api上缓冲绘制图形

Google maps api 3 使用ArcGIS服务器在google maps api上缓冲绘制图形,google-maps-api-3,buffer,arcgis-server,Google Maps Api 3,Buffer,Arcgis Server,我试图在谷歌地图上缓冲一个绘图图形。但它似乎不能做缓冲 我有一个绘画听众: google.maps.event.addListener(drawingManager, 'overlaycomplete', function(evt) { event = evt; ... }); 然后,缓冲功能需要缓冲此图形: function GmapBuffering() { gsvc = new esri.tasks.GeometryService(gsvcURL); //s

我试图在谷歌地图上缓冲一个绘图图形。但它似乎不能做缓冲

我有一个绘画听众:

google.maps.event.addListener(drawingManager, 'overlaycomplete', function(evt) {
    event = evt;
    ...
  });
然后,缓冲功能需要缓冲此图形:

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(','));
    }
  });
}
问题是,我得到了如下错误:

var gsvcURL = "http://localhost:6080/arcgis/rest/services/Utilities/Geometry/GeometryServer";
var gsvc2 = new gmaps.ags.GeometryService(gsvcURL);
TypeError:geom.toJson不是函数行34

arcgis GeometryService似乎无法识别“事件”图形。任何想法都将不胜感激


谢谢。

我把问题解决了。错误是由我如何定义GeometryService引起的

假设我们有arcgis GeometryService的URL。为了使用Google Maps API 3进行缓冲,我们需要将GeometryServices定义为:

var gsvcURL = "http://localhost:6080/arcgis/rest/services/Utilities/Geometry/GeometryServer";
var gsvc2 = new gmaps.ags.GeometryService(gsvcURL);
这个例子很有帮助: