Вновь о google картах

Во время создания одного проекта связанного с арендой недвижимости возникла маленькая задачка с подключением Google Maps API. Владелец сайта создавал карточки товара (квартир) и ему необходим был вывод месторасположения квартиры на карте гугл, в одной из вкладок.

Подключив google api и перечитав их мануал я так и не нашел как же задать для вывода не координаты а именно адрес местоположения.

Давайте подготовим наш документ:

<script src="https://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<input type="hidden" id="address" value="Ровно, ул.Шухевича2" />
<input type="hidden" id="company" value="RAMStudio" />
<input type="hidden" id="url" value="https://moroz.rv.ua" />
<input type="hidden" id="phone1" value="(066) 992-99-18" />
<input type="hidden" id="phone2" value="(067) 992-99-18" />
<input type="hidden" id="img" value="company.jpg" />
<div style=" width: 100%; height: 400px;" id="map_canvas"></div>

Отлично. Каркас для вывода карты у нас есть. Далее напишем функцию инициализации карты и будем запускать ее при окончании загрузки страницы.

<script type="text/javascript">
$(document).ready(function(){
        var geocoder;
        var map;
        var address = $('#address').val();
        var company = $('#company').val();
        var url = $('#url').val();
        var phone1 = $('#phone1').val();
        var phone2 = $('#phone2').val();
        var img = $('#img').val();
        function initialize() {
            geocoder = new google.maps.Geocoder();
            var latlng = new google.maps.LatLng(-34.397, 150.644);
            var myOptions = {
                zoom: 15,
                scrollwheel: false, // запрет прокрутки колесиком
                center: latlng,
                mapTypeControl: true,
                mapTypeControlOptions: {
                    style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
                },
                navigationControl: true,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
            if (geocoder) {
                geocoder.geocode({
                    'address': address
                }, function(results, status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                        if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
                            map.setCenter(results[0].geometry.location);
 
                            var infowindow = new google.maps.InfoWindow({
                                content: '<b><a href="' + url + '" target="_blank">' + company + '</a> <br /><img width="200px" src="' + img + '" /><br />' + address + ' <br />тел.' + phone1 + ' <br />тел.' + phone2 + '</b>',
                                size: new google.maps.Size(300, 100)
                            });
 
                            var marker = new google.maps.Marker({
                                position: results[0].geometry.location,
                                map: map,
                                title: address
                            });
                            google.maps.event.addListener(marker, 'click', function() {
                                infowindow.open(map, marker);
                            });
 
                        } else {
                            alert("No results found");
                        }
                    } else {
                        alert("Geocode was not successful for the following reason: " + status);
                    }
                });
            }
        }
        google.maps.event.addDomListener(window, 'load', initialize);         
        
    });
</script>

 

Да вот и все. Пример можете посмотреть.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
× iOs app

To install this Web App in your iPhone/iPad press iOs sourse and then Add to Home Screen.