Google Maps Info Window Наложение контента точно так же, как это на maps.goole.com - PullRequest
1 голос
/ 13 октября 2010

Я хочу иметь информационное окно для маркера чуть ниже

alt text

Мой код пока что

loadEmbeddedMap : function() {
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initEmbeddedMap";
        document.body.appendChild(script)
    },
    initEmbeddedMap : function() {
        var myLatlng = new google.maps.LatLng(40, -80);
        var myOptions = {
                zoom: 8,
                center: myLatlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById("embeddedGoogleMap"), myOptions);
        geocoder = new google.maps.Geocoder();
        geocoder.geocode( { 'address': $('#userMapAddress').val()}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
                marker = new google.maps.Marker({
                    map: map, 
                    position: results[0].geometry.location
                });
                console.debug(results[0]);
                infowindow = new google.maps.InfoWindow();
                var infoWindowContent = "<div><strong>Address:</strong></div>";
                infoWindowContent    += "<div>"+results[0].address_components[0].short_name+","+results[0].address_components[1].short_name+"</div>";
                infoWindowContent    += "<div>"+results[0].address_components[5].short_name+","+results[0].address_components[7].short_name+"</div>";
                //infoWindowContent    += results[0].formatted_address;
                infowindow.setContent(infoWindowContent);
                infowindow.open(map, marker);
            } else {
                //alert("Geocode was not successful for the following reason: " + status);
            }
        });
        $('#embeddedGoogleMapWrapper').show();
    },

Код выше выводит это

alt text

Как получить эти «Направления», «Искать рядом»? Любая помощь приветствуется ..

1 Ответ

2 голосов
/ 16 марта 2011

Я бы начал с чтения

http://code.google.com/apis/maps/documentation/localsearch/devguide.html#hiworld

Как я вижу, можно делать то, что ты хочешь. Я не могу дать вам прямой ответ, но, возможно, ключ. Я бы создал свою собственную форму в информационном окне, по крайней мере, очень похожую на исходную Google, и обрабатывал события кликов, отправляя эти поисковые запросы. Чем вам нужно обработать результаты поиска

http://code.google.com/apis/maps/documentation/localsearch/devguide.html#handle_search_results

Пройдите тестирование с

http://code.google.com/apis/ajax/playground/#the_hello_world_of_local_search

Например, вы можете получить lat из localSearch.results [i] .lat и так далее.

Я надеюсь, что вы можете получить что-то из этого

...