如何在标记谷歌地图中添加地址?

时间:2016-04-18 03:48:18

标签: javascript jquery html google-maps google-maps-api-3

我的HTML代码是这样的:

<a href="#" class="button" data-latLng="53#separator#-1.33#separator#Address 1">Button 1</a>
<a href="#" class="button" data-latLng="-34.397#separator#150.644#separator#Address 2">Button 2</a>
<div id="map-canvas"></div>

我的Javascript代码是这样的:

$(document).on("click", ".button", function(e) {
    e.preventDefault();
    var latLng = $(this).attr("data-latLng");           
    initialize(latLng);

    function initialize(latLng) {
        console.log(latLng);
        latLng = latLng.split("#separator#");
        address = latLng[2];
        console.log(address);
        var map;        
        var myCenter=new google.maps.LatLng(latLng[0],latLng[1]);
        var marker=new google.maps.Marker({
            position:myCenter
        });

        var mapProp = {
            center: myCenter,
            zoom: 14,
            mapTypeId:google.maps.MapTypeId.ROADMAP
        };

        map=new google.maps.Map(document.getElementById("map-canvas"),mapProp);
        marker.setMap(map);

        ...
    };
    ...
});

演示是这样的:https://jsfiddle.net/oscar11/b0ahcLxw/

我想在标记谷歌地图中显示地址,但我仍然感到困惑。 因此,当单击按钮时,地图会自动在标记上显示地址。

解决我问题的任何解决方案?

非常感谢

2 个答案:

答案 0 :(得分:3)

您没有声明infowindowcontentString变量。 因此,您需要声明infowindow变量,如bellow

var infowindow = new google.maps.InfoWindow();

并宣布contentString

var contentString ="Your Content String";

修改

// Add this line
var contentString ="Your Content String";
google.maps.event.addListener(marker, 'click', function() {
    // Add this line
    var infowindow = new google.maps.InfoWindow();
    infowindow.setContent(contentString);
    infowindow.open(map, marker);
}); 

JsFiddle Example
自动显示信息窗JsFiddle Demo

答案 1 :(得分:0)

添加此行并代替hellooo设置您的内容。

google.maps.event.addListener(marker, 'click', function() {
var infowindow = new google.maps.InfoWindow();
infowindow.setContent("hellooo");
infowindow.open(map, marker);

}); 

否则你可以在这里找到JsFiddle

要从lat获取地址,您可以使用反向地理编码 你可以在这里用代码找到这个例子 Reverse Geocoding