【问题标题】:How to snap to road using lat long as parameters如何使用 lat long as 参数捕捉道路
【发布时间】:2016-01-11 07:55:47
【问题描述】:

Snaptoroad Google API

我遇到的问题很简单,但对我来说真的很难 一个新手学生刚开始学习 Javascript,我想 开始我的第一个项目,使用简单的 Google Map 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 数组后,我想创建一个按钮,在单击后,它会生成地图和捕捉线。 可能类似于:

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中需要输入哪些参数作为“路径”,另外, 示例中可以删除的无用代码是什么?请帮助我,我知道我有很多东西要学。 (我已经挣扎了几天,因为没有任何类似的问题/可以找到示例),谢谢 非常喜欢!!

【问题讨论】:

  • 您的 pathValues 项目在与“|”连接之前是否已经用逗号分隔 lat-lng 值?例如,path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796

标签: javascript google-maps google-maps-api-3


【解决方案1】:

我已经设法通过使用 php 的 while 循环连接字符串来解决它。

<?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.'"';?>

并且图表绘制得很完美。

【讨论】:

    猜你喜欢
    • 2018-05-04
    • 2016-04-23
    • 2020-10-26
    • 2014-04-25
    • 2013-11-17
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多