2016-01-25 31 views
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不工作,我给出了两个点的纬度,经度如何准确的地图道路API我苛求链接是https://developers.google.com/maps/documentation/roads/inspector如何在我的代码中整合ployline如何使用谷歌路线API与折线

回答

0

我认为你在代码中缺少var apiKey = 'YOUR_API_KEY';

使用Android API:

要使用谷歌地图Android的API,你必须注册在谷歌开发者控制台您的应用项目,并让您可以添加到您的应用程序谷歌的API密钥。

按照这些steps获得API密钥:

  1. 转到Google Developers Console
  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的应用程序需要进行身份验证。

按照这些steps获得API密钥:

  1. 转到Google Developers Console
  2. 创建或选择一个项目。
  3. 点击继续启用API。
  4. 凭证页面,获取浏览器密钥(并设置API凭证)。
    注意:如果您有现有的浏览器密钥,则可以使用该密钥。
  5. 防止配额盗窃,secure your API key following these best practices
  6. (可选)启用计费。有关更多信息,请参见Usage Limits
+0

Kanna正在使用JavaScript API,而不是Android API。 – duncan

+0

我在本文档(https://developers.google.com/maps/documentation/javascript/get-api-key)中看到“所有JavaScript API应用程序都需要验证”。 – abielita

+0

当然,但你的指示只适用于Android – duncan