Во-первых вы хотите использовать Bing Maps REST Служба маршрутизации: https://msdn.microsoft.com/en-us/library/ff701717.aspx
Создание запроса URL довольно прямо вперед, и то же самое, независимо от языка программирования, который вы используете. Для примера, чтобы рассчитать маршрут проезда для ваших местах вы будете создавать запрос маршрута URL, как это:
http://dev.virtualearth.net/REST/V1/Routes/Driving?wp.0=37.285989,-122.019943&wp.1=1427%20Alderbrook%20Ln%20San%20Jose%20CA%2095129&key=YOUR_BING_MAPS_KEY
Обратите внимание, что на улице адрес% 20 вместо пробелов. Это называется кодировкой URL и является наилучшей практикой. Это легко сделать в python, но хотелось бы указать на это сейчас, чтобы вы знали, почему он находится в примере кода ниже.
Следующий пример кода кодирует адресат, создает URL-адрес и печатает ответ от службы Bing Maps. Обратите внимание, что я использую Python 3.4. В зависимости от версии Python вы используете код, который может немного отличаться.
import urllib.request
# Your Bing Maps Key
bingMapsKey = "YOUR_BING_MAPS_KEY"
# input information
longitude = -122.019943
latitude = 37.285989
destination = "1427 Alderbrook Ln San Jose CA 95129"
encodedDest = urllib.parse.quote(destination, safe='')
routeUrl = "http://dev.virtualearth.net/REST/V1/Routes/Driving?wp.0=" + str(latitude) + "," + str(longitude) + "&wp.1=" + encodedDest + "&key=" + bingMapsKey
request = urllib.request.Request(routeUrl)
response = urllib.request.urlopen(request)
print (response.read())
Теперь это печатает ответ от службы в кучу текста, который на самом деле куча JSON. Нам нужно будет разобрать JSON, чтобы мы могли извлечь нужную нам информацию. Для этого вам нужно знать структуру ответа JSON, которая приведена здесь: https://msdn.microsoft.com/en-us/library/gg636957.aspx
Чтобы проанализировать ответ, вам нужно будет импортировать библиотеку JSON для Python. После этого вы можете загрузить необработанные данные как объект JSON, а затем пройти через дерево объектов JSON, чтобы получить нужные значения. Поскольку вы только вычисляете маршрут между двумя точками, в ответе будет только один маршрут. Маршрут содержит массив маршрутных элементов, которые содержат информацию о шаге маршрута. Ниже приведен пример обновленного кода, который проходит через каждый элемент и печатает инструкции по строкам:
import urllib.request
import json
# Your Bing Maps Key
bingMapsKey = "YOUR_BING_MAPS_KEY"
# input information
longitude = -122.019943
latitude = 37.285989
destination = "1427 Alderbrook Ln San Jose CA 95129"
encodedDest = urllib.parse.quote(destination, safe='')
routeUrl = "http://dev.virtualearth.net/REST/V1/Routes/Driving?wp.0=" + str(latitude) + "," + str(longitude) + "&wp.1=" + encodedDest + "&key=" + bingMapsKey
request = urllib.request.Request(routeUrl)
response = urllib.request.urlopen(request)
r = response.read().decode(encoding="utf-8")
result = json.loads(r)
itineraryItems = result["resourceSets"][0]["resources"][0]["routeLegs"][0]["itineraryItems"]
for item in itineraryItems:
print(item["instruction"]["text"])