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);
这个例子很有帮助: