谷歌地图信息窗口叠加内容就像maps.goole.com中的那样

时间:2010-10-13 08:13:56

标签: maps google-maps-api-3 google-maps-markers

我希望将信息窗口内容放在标记下面

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 个答案:

答案 0 :(得分:2)

我会先阅读

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

我可以看到可以做你想做的事。我不能给你一个直接的答案,但也许是一个线索。 我会在infowindow中创建自己的表单,至少非常接近原始的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

例如,您可以从localSearch.results [i] .lat等获取lat。

我希望你能从中得到一些东西