谷歌地图方向服务路线请求具有以下原型:

route(request:DirectionsRequest, callback:function(DirectionsResult, DirectionsStatus))

我在一个类实例方法中调用服务请求,该方法看起来像这样:

myClass.protype.routeStuff(){
    directionsService.route(request, function(response, status){
         '''handle the response here'''
        });
};

我需要在'''在此处处理响应'''中访问myClass实例。 我不是JS专家。 我该如何传递?

更一般而言,给定路由原型,如何将其他参数传递给回调函数?

更新1:我最终使用乍得的答案创建了这样调用的类回调方法:

directionsService.route(request, this.extendRouteToLocationCallback.bind(this));

通过这样强制关闭回调函数,我能够独立地解决此问题:

var extrastuff = this;
directionsService.route(request, function (response, status) {
    routeCallback(extrastuff, response, status);});

我相信也可以这样做:

directionsService.route(request, function (response, status) {
    routeCallback(response, status);}.bind(this));

出于我的直接目的,乍得的方法产生了更好的结构化代码。

更新2:我采用的最终解决方案与此相关,并传递了如下额外的参数:

var request = buildMapRequest(currentEndLocation, null, location);
directionsService.route(request, this.extendRouteToLocationCallback.bind(this, location));

回调看起来像这样:

Route.prototype.extendRouteToLocationCallback = function(location, response, status){...}

#1楼 票数:0 已采纳

使用函数绑定

function directionsServiceCallback(response, status){
   // this keyword is now a reference to a myClass instance due to
   // function binding.
});

myClass.protype.routeStuff(){
  directionsService.route(request, directionsServiceCallback.bind(this));
};

  ask by rbell01824 translate from so

未解决问题?本站智能推荐:

1回复

谷歌地图APIv3放置搜索-将另一个参数传递给回调函数

我使用谷歌地图放置API v3来返回许多“类型”的地方,每个地点都由地图上的不同标记表示。 我创建了一个google.maps.places.PlacesService对象,然后按地点类型调用“搜索”方法一次。 每次,我使用不同的回调函数(“搜索”的第二个参数),因为我需要为每种类型选择不
1回复

JavaScript将参数传递给回调函数[重复]

这个问题已经在这里有了答案: Javascript将参数传递给回调或在DistanceMatrixStatus中设置变量值 1回答 我有一个JavaScript代码,可以计算用户位置和模糊地址数组之间的距离。 如果我没看错的话,它会使用Google Maps API的距离矩阵
2回复

异步加载谷歌地图V3时,将数据传递给回调

我正在异步加载google maps API ,这允许您定义在API加载时执行的回调。 有什么方法可以将参数传递给回调吗? 编辑: 这是我正在使用的代码。 我有一个名为master的全局对象存储以下函数。 我希望能够将一个位置数组传递给mapInit这样我就可以在初始化时将标记添
1回复

如何将谷歌地理位置坐标传递给另一个函数?

我的问题是,当我在控制台上打印纬度和经度时,它可以工作,但是当我将其传递到我的计算功能时,控制台说它们是未定义的。 谢谢您的帮助!
3回复

将位置坐标传递给谷歌地图作为变量

任何人都知道为什么会这样: 但这不会: 我尝试将纬度和经度作为单独的变量传递,但也没有做到这一点。 如何将坐标成功传递为变量? 谢谢!
1回复

如何做一个AjaxGET请求从rails获取数据并将其传递给javascript(谷歌地图)?

我有一个模型位置,有两列纬度和经度。 我想找到一种方法,我可以获取位置列表,并使用Ajax和javascript将它们传递给谷歌地图。 到目前为止,我的代码如下: map.js: locations_controller.rb 显示地图的页面: 所以现在我想找到一种从map.
1回复

谷歌地图回调函数名称错误

我运行HTML页面代码时在webdev控制台中遇到此错误 我的代码基于googlemaps api示例,并且仅更改了样式,而没有更改功能。 该函数称为initMap,尽管我最近更改了此函数以查看它是否有所不同。 我的JavaScript网址是https://comfortestate
5回复

将边界传递给谷歌地点API

我刚刚开始使用 Google Places API (http://code.google.com/apis/maps/documentation/javascript/places.html) 但我似乎无法获得正确的语法来传递边界而不是 latLng 对象和半径。 在 API 文档中它说: 此方