У меня есть встроенный сайт Google Mapusing api V3, который показывает наши 4 офиса, затем вы можете ввести свой почтовый индекс и проверить расстояние между вами и офисом, это работает!
Я хочу сейчас создатьрадиальный поиск, я нашел, как это сделать в Интернете, и это здорово, и я нахожусь на последнем препятствии, и вот где мне нужна ваша помощь, если это возможно.
У меня есть следующее:
geocoder = new google.maps.Geocoder(); // creating a new geocode object
// getting the two address values
address1 = document.getElementById("addresses1").value;
distance1 = document.getElementById("distance").value;
// finding out the coordinates
if (geocoder)
{
geocoder.geocode( { 'address': address1}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
//location of first address (latitude + longitude)
location1 = results[0].geometry.location;
// Location Marker
var marker = new google.maps.Marker({
map: map,
position: location1,
title: 'Random text'
});
// Add circle overlay and bind to marker
var circle = new google.maps.Circle({
map: map,
radius: distance1,
strokeWeight: 0,
fillColor: '#AA0000'
});
circle.bindTo('center', marker, 'position');
} else
{
alert("Geocode was not successful for the following reason: " + status);
}
});
}
Мне удалось заставить все работать, кроме $distance1
.Что должно произойти, так это то, что пользователь выбирает расстояние из формы: скажем, 10 миль (заданных в метрах для Google Maps), когда они нажимают «Отправить», круг рисуется с радиусом 10 миль.
В качестве кодастоит, точка нарисована, но круг не появляется.
Если я, например, заменю distance1 = document.getElementById("distance").value;
на distance1 = 16999;
, то появляется круг и он отлично работает.
Мнеэто должно означать, что с содержимым distance1
что-то не так, когда оно извлекается из формы.Я просто проверил NaN-тест, и он сообщает, что контент - это число.
У меня такой вопрос (очень затянуто - извините за это), у вас есть идея, как получить distance1
, чтобы получить значение из формы.
// Add circle overlay and bind to marker
var circle = new google.maps.Circle({
map: map,
radius: distance1,
strokeWeight: 0,
fillColor: '#AA0000'
});
Речь идет о radius: distance1