如何使用lat-long作为参数捕捉到道路

How to snap to road using lat long as parameters

本文关键字:道路 参数 何使用 lat-long      更新时间:2023-09-26

Snaptoroad谷歌API

我遇到的问题很简单,但对我来说真的很难一个刚开始学习Javascript的新手,我想开始我的第一个项目使用简单的谷歌地图API捕捉一组坐标(约100~200点)至道路。

在Google API页面中提供的代码中,它显示了一个带有工具栏、行抽屉和地图的地图。我们画完这条线后,地图会自动将这条线捕捉到道路上。

所以现在,我想要的不是画线,而是输入lat和long来生成相应的快照道路。我需要在代码中删除什么以及什么参数,如何将参数输入到谷歌?

我所做的只是创建一个文件读取器,读取存储在本地驱动器中的文本文件。

document.getElementById('file').onchange = function(){
var file = this.files[0];
var reader = new FileReader();
reader.onload = function(progressEvent){
var lines = this.result.split(''n');
for(var line = 0; line < lines.length; line++){
  //alert(lines[line]);
  var split = [];
  split = lines[line].split(',');
  window.xcoord.push(split[0]);
  window.ycoord.push(split[1]);}
}
reader.readAsText(file); }; 

在将坐标加载到xcoord和ycoord数组中后,我想创建一个按钮,在onclicked之后,它将生成地图和捕捉的线。可能类似于:

document.getElementById('button').onclick = function runSnapToRoad(path) {
var pathValues = [];
for (var i = 0; i < path.getLength(); i++) {
pathValues.push(path.getAt(i).toUrlValue()); }
$.get('https://roads.googleapis.com/v1/snapToRoads', {
interpolate: true,
key: apiKey,
path: pathValues.join('|')
}, function(data) {
processSnapToRoadResponse(data);
drawSnappedPolyline();
getAndDrawSpeedLimits();});}

需要在函数runSnapToRoad中输入哪些参数作为"路径",此外,示例中可以擦除的无用代码有哪些?请帮帮我,我知道我还有很多东西要学。(我已经挣扎了几天,因为找不到任何类似的问题/例子),谢谢非常地

我已经设法通过使用while循环和php连接字符串来解决这个问题。

<?php
$stringJoin = "";
$index = 0;
$handle = fopen($_GET['fileName'], "r");
if ($handle) {
  while (($line = fgets($handle)) !== false) {
      $index++;
      if ($index == 99) {
        break;
      }
      $stringJoin .= trim($line)."|";
  }
  fclose($handle); }
  echo $index;
  echo "<br>";
  $stringJoin = substr($stringJoin, 0, -1);
  echo $stringJoin;?> 

并像这样输入:

path: <?php echo '"'.$stringJoin.'"';?>

并且该图被完美地绘制。