标签: routing

什么算法计算地图上从A点到B点的方向?

地图提供商(例如Google或Yahoo! Maps)如何提供方向?

我的意思是,他们可能有某种形式的真实数据,当然包括距离,但也可能包括行驶速度,人行道的存在,火车时刻表等.但是假设数据格式较简单,比如一个非常大的有向图边缘权重反映距离.我希望能够快速计算从任意点到另一个点的方向.有时这些点将在一起(在一个城市内),而有时它们将相隔很远(越野).

像Dijkstra算法这样的图算法不起作用,因为图形是巨大的.幸运的是,像A*这样的启发式算法可能会起作用.但是,我们的数据非常有条理,也许某种分层方法可能有用吗?(例如,存储远离某些"关键"点之间的预先计算方向,以及一些局部方向.然后,两个远点的方向将涉及到关键点的本地方向,到另一个关键点的全局方向,然后是本地方向方向再次.)

在实践中实际使用了哪些算法?

PS.这个问题的动机是通过在线地图方向找到怪癖.与三角形不等式相反,有时谷歌地图认为XZ需要更长时间,并且比使用XYZ中的中间点更远.但也许他们的步行路线也会针对另一个参数进行优化?

PPS.这是对三角不等式的另一个违反,它暗示(对我来说)他们使用某种分层方法:XZXYZ.前者似乎使用着名的Boulevard de Sebastopol,尽管它稍微偏离了方向.

编辑:这些例子似乎都不再起作用,但两者都是在原始帖子时完成的.

mapping algorithm routing

536
推荐指数
9
解决办法
12万
查看次数

是否可以基于子域创建ASP.NET MVC路由?

是否可以使用ASP.NET MVC路由使用子域信息来确定其路由?例如:

  • user1 .domain.com去了一个地方
  • user2 .domain.com转到另一个?

或者,我可以这样做,所以这两个都与username参数进入相同的控制器/动作?

asp.net-mvc routing asp.net-mvc-routing

233
推荐指数
3
解决办法
7万
查看次数

S3 Static Website Hosting路由指向Index.html的所有路径

我使用S3来托管一个将使用HTML5 pushStates的javascript应用程序.问题是如果用户为任何URL添加书签,它将无法解析为任何内容.我需要的是能够获取所有URL请求并在我的S3存储桶中提供root index.html,而不仅仅是执行完全重定向.然后我的javascript应用程序可以解析URL并提供正确的页面.

有没有办法告诉S3为所有URL请求提供index.html而不是重定向?这与设置apache以通过提供单个index.html来处理所有传入请求类似,如下例所示:https://stackoverflow.com/a/10647521/1762614.我真的想避免运行Web服务器来处理这些路由.从S3做一切非常有吸引力.

redirect routing amazon-s3 amazon-web-services pushstate

225
推荐指数
13
解决办法
8万
查看次数

如何在Symfony 2获得当前路线?

如何在Symfony 2中获取当前路线?

例如,routing.yml:

somePage:
   pattern: /page/
   defaults: { _controller: "AcmeBundle:Test:index" }
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得这个somePage价值?

php routing symfony symfony-routing

216
推荐指数
7
解决办法
19万
查看次数

从客户端检测到潜在危险的Request.Path值(*)

我收到了相当自我解释的错误:

从客户端(*)检测到潜在危险的Request.Path值.

问题是由*请求URL引起的:

https://stackoverflow.com/Search/test*/0/1/10/1
Run Code Online (Sandbox Code Playgroud)

此网址用于填充搜索页面,其中"test*"是搜索字词,其余网址与各种其他过滤条件相关.

是否有一种简单的方法可以在URL中允许这些特殊字符?我试过修改web.config,但无济于事.

我应该手动编码/解码特殊字符吗?或者有这样做的最佳实践,我想避免使用查询字符串. - 但它可能是一种选择.

应用程序本身是一个c# asp.netwebforms应用程序,它使用路由生成上面的漂亮URL.

c# asp.net url routing webforms

210
推荐指数
4
解决办法
29万
查看次数

如何找到Rails中的当前路由?

我需要知道Rails中过滤器中的当前路由.我该怎么知道它是什么?

我正在做REST资源,并且看不到命名路由.

ruby routing ruby-on-rails

204
推荐指数
8
解决办法
16万
查看次数

Angular 2路由器没有基本href设置

我收到错误,找不到原因.这是错误:

EXCEPTION: Error during instantiation of LocationStrategy! (RouterOutlet -> Router -> Location -> LocationStrategy).
    angular2.dev.js:23514 EXCEPTION: Error during instantiation of LocationStrategy! (RouterOutlet -> Router -> Location -> LocationStrategy).BrowserDomAdapter.logError @ angular2.dev.js:23514BrowserDomAdapter.logGroup @ angular2.dev.js:23525ExceptionHandler.call @ angular2.dev.js:1145(anonymous function) @ angular2.dev.js:14801NgZone._notifyOnError @ angular2.dev.js:5796collection_1.StringMapWrapper.merge.onError @ angular2.dev.js:5700run @ angular2-polyfills.js:141(anonymous function) @ angular2.dev.js:5719zoneBoundFn @ angular2-polyfills.js:111lib$es6$promise$$internal$$tryCatch @ angular2-polyfills.js:1511lib$es6$promise$$internal$$invokeCallback @ angular2-polyfills.js:1523lib$es6$promise$$internal$$publish @ angular2-polyfills.js:1494(anonymous function) @ angular2-polyfills.js:243microtask @ angular2.dev.js:5751run @ angular2-polyfills.js:138(anonymous function) @ angular2.dev.js:5719zoneBoundFn @ angular2-polyfills.js:111lib$es6$promise$asap$$flush @ angular2-polyfills.js:1305
    angular2.dev.js:23514 ORIGINAL EXCEPTION: No base href set. Please provide a value for …
Run Code Online (Sandbox Code Playgroud)

routing angular

177
推荐指数
7
解决办法
15万
查看次数

如何删除设计注册的设计路线?

我在Rails 3应用程序中使用Devise,但在这种情况下,用户必须由现有用户创建,该用户确定他/她将拥有哪些权限.

因此,我想要:

  • 删除路线的用户注册.
  • 为了还允许用户编辑自己的个人资料(变更电子邮件地址和密码),双方已经签署了

我怎样才能做到这一点?

目前,我通过以下方式有效地删除了这条路线devise_for :users:

match 'users/sign_up' => redirect('/404.html')
Run Code Online (Sandbox Code Playgroud)

这有效,但我想有更好的方法,对吧?

更新

正如Benoit Garret所说,在我的情况下,最好的解决方案是跳过创建注册路线,并创建我真正想要的那些.

为此,我首先运行rake routes,然后使用输出重新创建我想要的.最终结果如下:

devise_for :users, :skip => [:registrations] 
as :user do
  get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration'
  put 'users' => 'devise/registrations#update', :as => 'user_registration'
end
Run Code Online (Sandbox Code Playgroud)

注意:

  • 我仍然:registerable在我的User模型
  • devise/registrations 处理更新电子邮件和密码
  • 更新其他用户属性 - 权限等 - 由不同的控制器处理

实际答案:

删除默认Devise路径的路由; 即:

devise_for :users, path_names: {
  sign_up: ''
}
Run Code Online (Sandbox Code Playgroud)

routing devise ruby-on-rails-3

145
推荐指数
7
解决办法
5万
查看次数

使用ASP.NET MVC使用多个参数进行路由

我们公司正在为我们的产品开发API,我们正在考虑使用ASP.NET MVC.在设计我们的API时,我们决定使用下面的调用来让用户以XML格式从API请求信息:

http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist=cher&api_key=b25b959554ed76058ac220b7b2e0a026

如您所见,传递了多个参数(即artistapi_key).在ASP.NET MVC,artist将是controller,getImages在行动,但我会如何将多个参数传递给动作?

这甚至可以使用上面的格式吗?

.net c# asp.net-mvc routing

133
推荐指数
3
解决办法
27万
查看次数

通过Angular中的路由路径发送数据

无论如何使用router.navigate将数据作为参数发送?我的意思是,像这个例子,你可以看到路由有一个数据参数,但这样做它不起作用:

this.router.navigate(["heroes"], {some-data: "othrData"})
Run Code Online (Sandbox Code Playgroud)

因为某些数据不是有效参数.我怎样才能做到这一点?我不想用queryParams发送参数.

routing angular angular-router

130
推荐指数
5
解决办法
15万
查看次数