0
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js">
</script>

<script>
var snappedCoordinates = [];
var placeIdArray = [];
var polylines = [];
function initialize()
{
var mapProp = {
  center:{lat: 13.0342, lng: 80.2301},
  zoom:14,
  mapTypeId:google.maps.MapTypeId.ROADMAP
  };

var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);

var myTrip=[{lat: 13.0342, lng: 80.2301},{lat:13.0396077,lng:80.2457392}];
var path = myTrip;
polylines.push(myTrip);
placeIdArray = [];
runSnapToRoad(path);

function drawSnappedPolyline() {
    var flightPath=new google.maps.Polyline({
          path:myTrip,
          strokeColor:"#0000FF",
          strokeOpacity:0.8,
          strokeWeight:2
          });

        flightPath.setMap(map);
        polylines.push(flightPath);
}

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();
      });
}


function processSnapToRoadResponse(data) {
      snappedCoordinates = [];
      placeIdArray = [];
      for (var i = 0; i < data.snappedPoints.length; i++) {
        var latlng = new google.maps.LatLng(
            data.snappedPoints[i].location.latitude,
            data.snappedPoints[i].location.longitude);
        snappedCoordinates.push(latlng);
        placeIdArray.push(data.snappedPoints[i].placeId);
      }
    }

}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

这是我的谷歌道路 api 代码我得到了中央地图,但道路 api 不工作,我给了两点纬度,lng 如何精确地图道路 api 我的精确链接是https://developers.google.com/maps/文档/道路/检查员如何在我的代码中集成多条线

4

1 回答 1

0

我认为您的代码中缺少var apiKey = 'YOUR_API_KEY';

通过使用 Android API:

要使用 Google Maps Android API,您必须在 Google Developers Console 上注册您的应用项目并获得一个 Google API 密钥,您可以将其添加到您的应用中。

按照以下步骤获取 API 密钥:

  1. 转到Google 开发者控制台
  2. 创建或选择一个项目。
  3. 单击继续以启用 API。
  4. 转到凭据以获取Android 密钥并设置 API 凭据。
    注意:如果您有现有的Android 密钥,则可以使用该密钥。
  5. 在出现的对话框中,输入应用的 SHA-1 指纹和包名称。
    例如:
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75 com.example.android.mapexample

  6. 您的新 Android 密钥出现在您项目的 API 密钥列表中。API 密钥是一串字符,如下所示:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

通过使用 JavaScript API:

所有 JavaScript API 应用程序都需要身份验证。

按照以下步骤获取 API 密钥:

  1. 转到Google 开发者控制台
  2. 创建或选择一个项目。
  3. 单击继续以启用 API。
  4. 凭据页面上,获取浏览器密钥(并设置 API 凭据)。
    注意:如果您有现有的浏览器密钥,则可以使用该密钥。
  5. 为防止配额被盗,请按照这些最佳做法保护您的 API 密钥
  6. (可选)启用计费。有关详细信息,请参阅使用限制
于 2016-01-27T08:19:33.667 回答