Я передаю lat и переменные СПГ и дисплей Google sreet представление в отделении. Проблема состоит в том, что, когда StreetView unavilable затем, ничто не отображено. Я хотел бы проверить, существует ли streetview для данного lat и СПГ, и отобразите сообщение. Вот мой код:
var myPano = new GStreetviewPanorama(document.getElementById("street2"), panoOpts);
var location = new GLatLng(lat,lng)
myPano.setLocationAndPOV(location);
Возможно, я должен использовать что-то как: Event.addListener(myPano, "error", errorMessage());
Какие-либо идеи?
Вы можете ознакомиться со следующей ссылкой:
Определение того, поддерживает ли дорога функцию Street View, путем визуального осмотра
GStreetviewOverlay
, часто не представляется возможным или желательным с точки зрения пользователя. По этой причине API предоставляет сервис, который программно запрашивает и извлекает данные Street View. Эта услуга предоставляется с помощью объектаGStreetviewClient
.
В основном вы можете использовать getNearestPanoramaLatLng()
метод класса GStreetviewClient
который вернет вам GLatLng
ближайшей точки, где доступен просмотр улиц. Затем вы можете использовать метод distanceFrom()
для проверки, находится ли ближайшая точка просмотра улиц в пределах определенного порога от вашей исходной точки.
Вот полный пример, который, как мне кажется, должен быть понятен:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps API - Street View Availability</title>
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false"
type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
var testPoint = new GLatLng(40.7140, -74.0062); // Broadway, New York
var svClient = new GStreetviewClient();
svClient.getNearestPanoramaLatLng(testPoint, function (nearest) {
if ((nearest !== null) && (testPoint.distanceFrom(nearest) <= 100)) {
alert('Street View Available'); // Within 100 meters
}
else {
alert('Street View Noet Available'); // Not within 100 meters
}
});
</script>
</body>
</html>