2016-01-06 3 views
-1

У меня есть следующий код и вы уже зарегистрировали и получили ключ API от Google, но не знаете, где разместить ключ. Может ли кто-нибудь помочь мне, куда должен идти ключ?Добавление ключа API карты Google к функции вычисления расстояния

Distance_Calc 
Public Function GetDistance(start As String, dest As String) 
    Dim firstVal As String, secondVal As String, lastVal As String 
    firstVal = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=" 
    secondVal = "&destinations=" 
    lastVal = "&mode=car&language=pl&sensor=false" 
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 
    URL = firstVal & Replace(start, " ", "+") & secondVal & Replace(dest, " ", "+") & lastVal 
    objHTTP.Open "GET", URL, False 
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" 
    objHTTP.send ("") 
    If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo ErrorHandl 
    Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = """value"".*?([0-9]+)": regex.Global = False 
    Set matches = regex.Execute(objHTTP.responseText) 
    tmpVal = Replace(matches(0).SubMatches(0), ".", Application.International(xlListSeparator)) 
    GetDistance = CDbl(tmpVal) 
    Exit Function 
ErrorHandl: 
    GetDistance = -1 
End Function 

ответ

0

Вы используете Directions Matrix web service из java. Если это на клиенте, это не рекомендуется (и затрудняет защиту вашего ключа как web service requires a "server key"). Если он находится на сервере, используйте ключ сервера (и защитите его), specifying it in the request.

пример (from the documentation):

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY 

В вашем случае, вы можете добавить его в lastVal вы добавить к запросу (и удалите больше не требуется sensor параметр):

lastVal = "&mode=car&language=pl&key=YOUR_API_KEY" 

Чтобы использовать матрицу направлений от javascript на клиенте, используйте Google Maps Javascript API Distance Matrix Service и используйте browser key when you include the API

+0

Я n ot использование на сервере ... только мой собственный компьютер. Предлагаете ли вы поместить lastVal = "& mode = car & language = pl & key = YOUR_API_KEY" перед строкой функции выхода выше – AmL

+0

Заменить существующее определение. Получите ключ сервера для IP-адреса/имени компьютера вашего ПК (как видно из запроса на серверы Google). – geocodezip

Смежные вопросы