我需要找到两个纬度/经度点之间的中点.
我试图将我绘制的两个位置之间的地图居中,并且需要找到该点.
我已经从我找到的其他示例中编写了这个函数,但似乎没有用.
public static void midPoint(double lat1, double lon1, double lat2, double lon2, out double lat3_OUT, out double lon3_OUT)
{
//http:// stackoverflow.com/questions/4656802/midpoint-between-two-latitude-and-longitude
double dLon = DistanceAlgorithm.Radians(lon2 - lon1);
//convert to radians
lat1 = DistanceAlgorithm.Radians(lat1);
lat2 = DistanceAlgorithm.Radians(lat2);
lon1 = DistanceAlgorithm.Radians(lon1);
double Bx = Math.Cos(lat2) * Math.Cos(dLon);
double By = Math.Cos(lat2) * Math.Sin(dLon);
double lat3 = Math.Atan2(Math.Sin(lat1) + Math.Sin(lat2), Math.Sqrt((Math.Cos(lat1) + Bx) * (Math.Cos(lat1) + Bx) + By * By));
double lon3 = lon1 + Math.Atan2(By, Math.Cos(lat1) + Bx);
lat3_OUT …Run Code Online (Sandbox Code Playgroud) 我有几个任务,我正在异步运行.根据输入,一个或多个可能会运行很长时间,但只有一个任务将返回:success消息.
slowtask = Task.async(slow())
fasttask = Task.async(fast())
Run Code Online (Sandbox Code Playgroud)
如何捕获上述两个任务中的第一个完成,而不必等待另一个?我已经尝试过了Task.find/2,但是由于它是用enum实现的,所以它似乎在找到ref/message之前等待所有的退出信号.我的另一个想法是对此进行调查Stream.cycle,忽略仍然存在的任务并捕获已退出的任务.看来这种灵丹妙药不喜欢以这种方式进行民意调查.
在编译使用elixir和phoenix web框架的项目时,会发生以下编译错误:
==> phoenix_ecto
Compiled lib/phoenix_ecto.ex
Compiled lib/phoenix_ecto/plug.ex
Compiled lib/phoenix_ecto/ison.ex
==> Compilation error on file lib/phoenix_ecto/html.ex ==
** (CompileError) ib/phoenix_ecto/html.ex:7: unknown key :impl for struct Phoenix.HTML.Form
(elixir) src/e ixir_map.erl:175: :elixir_map.--assert_struct_keys/5-1c$"011-0--/5
(elixir) src/e ixir_map.erl:48: :elixir_map.translate_struct/4
(elixir) src/e ixir_clauses.erl:36: :elixir_clauses.clause/7
(elixir) src/e ixir_def.erl:178: :elixir_def.translate_clause/7
(elixir) src/e ixir_def.erl:167: :elixir_def.translate_definition/8
[31m[1mcould not compile dependency phoenix_ecto, mix compile failed. You can recompile this dependency with 'mix deps.compile phoenix_ecto' or update it with 'mix deps.update phoenix_ecto'
Run Code Online (Sandbox Code Playgroud)
如何让我的项目正确编译?
我在router.ex中有这个:
resources "/games", GamesController do
get "/scores/:student_id", GameScoreController, :new
post "/scores/:student_id", GameScoreController, :create
end
Run Code Online (Sandbox Code Playgroud)
现在我打电话给:
link(student.name, to: game_game_score_path(@conn, :new, @game, student_id: student))
Run Code Online (Sandbox Code Playgroud)
但这会创建一个链接:/ games/1/scores?student_id = 1而不是/ games/1/scores/1.
如何调用链接以便生成正确的URL?
哦,有没有办法摆脱助手的双重游戏?我尝试添加as :: game_score,但这没有改变任何东西.
请检查此代码:
defmodule InfinitePollTask do
def poll(opts \\ [])
# function body code here
poll(new_opts)
end
end
Run Code Online (Sandbox Code Playgroud)
我想为函数体代码编写一个单元测试,假设函数体执行一些重要的计算,opts并new_opts为下一次迭代生成一个.
我正在为我的数据库使用 Postgrex 库,但我有以下问题:数据库中的列之一的类型为uuid. 我正在使用灵药的UUID模块,但每当我试图坚持一些东西到数据库中,我得到以下错误:Postgrex expected a binary of 16 bytes, got "3c5fda26-ea3b-4c77-8f19-06e106a61eda"。我试图将它存储为普通字符串,但正如您所见,这是不可能的。在将 uuid 持久化到数据库之前,我应该如何转换它?
什么时候仅deps在my中指定依赖项mix.exs而不在in中指定运行时依赖项才合适applications?
我认为这applications是需要启动的实际应用程序,然后才能启动我自己的应用程序,但是我遇到了一个问题,exrm就是Jazz直到我将包含在内:jazz时,才将库(我认为仅包含纯函数)放到发行版中applications。
我怎样才能在凤凰城使用语言包?我正试图在网页上进行国际化.我已经将包添加到mix.exs并mix deps.get成功运行.
现在,我不知道在哪个文件夹中写入包的模块文件的位置,以及它应该是ex或exs扩展名,如用例(fr.exs)中的其他国家/地区语言文件.
此外,在编写模块后,我将如何将其应用于HTML标记?
我试图理解之间的差异spawn和spawn_link,但不能完全把握时会发生什么功能的进程执行结束.
defmodule SendAndDie do
def send_and_die(target) do
send(target, "Goodbye")
# Process.exit(self, :boom)
end
end
dying_process = spawn_link(SendAndDie, :send_and_die, [self])
:timer.sleep(500)
IO.puts("Dying process is alive: #{Process.alive?(dying_process)}")
receive do
msg -> IO.puts(msg)
end
Run Code Online (Sandbox Code Playgroud)
我预计主要过程会失败,因为它与在程序结束前明显死亡的过程相关联.但是,打印"Goodbye"消息,然后程序正常退出.更改spawn_link到spawn没有任何效果.
当我取消注释第Process.exit4行时,我确实看到了spawn和之间的区别spawn_link(后者在整个程序中停止而前者没有).但是,这Process.exit是send_and_die函数中的最后一次执行.当函数结束时,进程是否会退出?
我在以下上下文中无法理解'&'运算符.
@doc "Marks a task as executed"
def put_task(task, project) do
item = {task, project}
Agent.update(__MODULE__, &MapSet.put(&1, item))
end
Run Code Online (Sandbox Code Playgroud)
在这种情况下,似乎'&1'指的是地图对象本身,但我很好奇这是如何工作的.它是作为一个参数传递给我自己在文档中查看这个,但无法确定这是否正是发生了什么.如果有人能帮助我理解究竟发生了什么以及&1指的是什么,如果它引用了MapSet,我将不胜感激.
elixir ×9
c# ×1
erlang-otp ×1
exrm ×1
frameworks ×1
geolocation ×1
process ×1
testing ×1
web ×1
window ×1