Google Maps信息窗口不适用于标记单击

我正在使用Google Maps API v3地理编码服务。地理编码部分工作正常。我在文本框中输入邮政编码,然后点击“提交”按钮。然后在我在文本框中键入的位置显示一个蓝色标记然后,它会加载半径为20 km的地点,并用红色标记显示这些地点一切正常。但是后来我在信息窗口中遇到了一些问题。

如果单击标记(红色或蓝色),则不会发生任何事情。我只是想不通。我将此代码用于infowindow:

$.ajax({
    url: 'data.php',
    type: 'POST',
    data: {xmldata: jqXHR.responseText},
    success: function(locations, textStatus, jqXHR){

        var split = locations.split(",");

        var checkForDouble = split.filter(function(elem, pos) {
            return split.indexOf(elem) == pos;
        });

    for(var i = 0; i < split.length; i++){
        geocoder.geocode(
            {'address': checkForDouble[i]},
            function(results, status){
                if(results != null){
                    marker = new google.maps.Marker({
                        map: map,
                        position: results[0].geometry.location
                    });
                }
            }
        );

        var infocontent = checkForDouble[i];                                        
        var infowindow = new google.maps.InfoWindow();

        google.maps.event.addListener(marker, 'click', (function(marker, infocontent) {
            return function(){
                infowindow.setContent(infocontent);
                infowindow.open(map, marker);
            }
        })(marker, infocontent));
    }                                   
}

有人可以提示我哪里出错了吗?

地理编码

您还需要在地址解析器调用中关闭函数。

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

function createMarker(address)
    var marker = new google.maps.Marker({
                    map: map,
                    position: results[0].geometry.location
                });
    var infocontent = address;                                        

    google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(infocontent);
            infowindow.open(map, marker);
    });
    return marker;
}
function geocodeAddress(address) {
    geocoder.geocode(
        {'address': address,
        function(results, status){
            if((results != null) && (status == google.maps.GeocoderStatus.OK)) {
               var marker = createMarker(address);
            } else alert("geocode failed on "+address+", status="+status);
        }
    );
}

$.ajax({
    url: 'data.php',
    type: 'POST',
    data: {xmldata: jqXHR.responseText},
    success: function(locations, textStatus, jqXHR){

        var split = locations.split(",");

        var checkForDouble = split.filter(function(elem, pos) {
            return split.indexOf(elem) == pos;
        });

    for(var i = 0; i < split.length; i++){
       geocodeAddress(checkForDouble[i]);
    }                              
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

适用于Google Maps v3的RichMarker-单击通过标记

来自分类Dev

触摸事件不适用于Angular中的Google Maps

来自分类Dev

Google Maps API RadarSearch不适用于伦敦

来自分类Dev

延迟属性不适用于Google Maps API?

来自分类Dev

Angular Universal不适用于Angular Google Maps

来自分类Dev

Google Maps适用于Android Release APK,但不适用于AAB

来自分类Dev

localStorage不适用于Google Chrome

来自分类Dev

Highchart不适用于Google Chrome

来自分类Dev

SignalR不适用于Google Chrome

来自分类Dev

angularFireAuth不适用于Google

来自分类Dev

Highchart不适用于Google Chrome

来自分类Dev

在Google Maps的“信息”窗口内单击按钮

来自分类Dev

Google地方信息自动填充功能不适用于动态生成的输入元素

来自分类Dev

Google地方信息自动填充功能不适用于动态生成的输入元素

来自分类Dev

无论单击哪个,都会打开最后一个Google Maps标记的信息窗口

来自分类Dev

html2canvas不适用于Google Maps Pan

来自分类Dev

Slick.js不适用于Google Maps API中的infoBox.js

来自分类Dev

Google Maps Driving Mode URL方案不适用于Android

来自分类Dev

Android SHA1版本密钥库不适用于Google Maps

来自分类Dev

angular-google-maps不适用于不是text / ng-template的templateUrl

来自分类Dev

AngularJS $ location不适用于google.maps.event侦听器

来自分类Dev

Google Maps API密钥不适用于所有环境

来自分类Dev

Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

来自分类Dev

Slick.js不适用于Google Maps API中的infoBox.js

来自分类Dev

在适用于本机iOS / Swift的Google Maps SDK中获取位置标记

来自分类Dev

适用于Android的Google Maps API v2:标记和折线位置不匹配

来自分类Dev

Google Map屏幕截图不适用于使用html2canvas的标记和标记群集

来自分类Dev

Google作者身份不适用于Google搜索

来自分类Dev

Google SQL 不适用于 Google App Engine

Related 相关文章

  1. 1

    适用于Google Maps v3的RichMarker-单击通过标记

  2. 2

    触摸事件不适用于Angular中的Google Maps

  3. 3

    Google Maps API RadarSearch不适用于伦敦

  4. 4

    延迟属性不适用于Google Maps API?

  5. 5

    Angular Universal不适用于Angular Google Maps

  6. 6

    Google Maps适用于Android Release APK,但不适用于AAB

  7. 7

    localStorage不适用于Google Chrome

  8. 8

    Highchart不适用于Google Chrome

  9. 9

    SignalR不适用于Google Chrome

  10. 10

    angularFireAuth不适用于Google

  11. 11

    Highchart不适用于Google Chrome

  12. 12

    在Google Maps的“信息”窗口内单击按钮

  13. 13

    Google地方信息自动填充功能不适用于动态生成的输入元素

  14. 14

    Google地方信息自动填充功能不适用于动态生成的输入元素

  15. 15

    无论单击哪个,都会打开最后一个Google Maps标记的信息窗口

  16. 16

    html2canvas不适用于Google Maps Pan

  17. 17

    Slick.js不适用于Google Maps API中的infoBox.js

  18. 18

    Google Maps Driving Mode URL方案不适用于Android

  19. 19

    Android SHA1版本密钥库不适用于Google Maps

  20. 20

    angular-google-maps不适用于不是text / ng-template的templateUrl

  21. 21

    AngularJS $ location不适用于google.maps.event侦听器

  22. 22

    Google Maps API密钥不适用于所有环境

  23. 23

    Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

  24. 24

    Slick.js不适用于Google Maps API中的infoBox.js

  25. 25

    在适用于本机iOS / Swift的Google Maps SDK中获取位置标记

  26. 26

    适用于Android的Google Maps API v2:标记和折线位置不匹配

  27. 27

    Google Map屏幕截图不适用于使用html2canvas的标记和标记群集

  28. 28

    Google作者身份不适用于Google搜索

  29. 29

    Google SQL 不适用于 Google App Engine

热门标签

归档