2016-01-25 32 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