Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery gmap3通过单击链接显示信息窗口_Jquery_Jquery Gmap3 - Fatal编程技术网

如何使用jquery gmap3通过单击链接显示信息窗口

如何使用jquery gmap3通过单击链接显示信息窗口,jquery,jquery-gmap3,Jquery,Jquery Gmap3,我正在使用jQueryGMAP3显示一个地图,其中包含我构建的搜索结果的标记。每个标记都有一个信息窗口,显示标记所在位置的详细信息,当有人单击地图上的标记时,该信息窗口将显示该信息。在地图下方,我显示了一个找到的结果列表,对于每个找到的结果,我想做的是有一个链接,当有人单击该链接时,页面会向上滚动到地图,然后指向结果所属的标记,信息窗口会自动弹出。可能吗?这是我的密码: var base_lat = 33.609063; var base_lon = -112.105135; var

我正在使用jQueryGMAP3显示一个地图,其中包含我构建的搜索结果的标记。每个标记都有一个信息窗口,显示标记所在位置的详细信息,当有人单击地图上的标记时,该信息窗口将显示该信息。在地图下方,我显示了一个找到的结果列表,对于每个找到的结果,我想做的是有一个链接,当有人单击该链接时,页面会向上滚动到地图,然后指向结果所属的标记,信息窗口会自动弹出。可能吗?这是我的密码:

  var base_lat = 33.609063;
  var base_lon = -112.105135;
  var base_markers = [{"latLng":["33.609063","-112.105135"],"data":"<div class=\"estate_info\"><img src=\"\/img\/realestate\/test_estate.jpg\"><b><a href=\"\/charming-payette-lake-cabin-with-private-dock-beach-rl2\">1022 E. St. Mill Valley, CA 85282<\/a><\/b><ul><li><label>Beds:<\/label>6<\/li><li><label>Baths:<\/label>3.0<\/li><li><label>Levels:<\/label>2<\/li><\/ul><ul><li><label>Price:<\/label>$520,000<\/li><li><li><label>Sqft:<\/label>5,600<\/li><li><a href=\"\/charming-payette-lake-cabin-with-private-dock-beach-rl2\">View Details &raquo;<\/a><\/li><\/ul><\/div>","options":{"icon":"\/img\/markers\/number_1.png"}},{"latLng":["33.479913","-111.699535"],"data":"<div class=\"estate_info\"><img src=\"\/img\/realestate\/default_estate.jpg\"><b><a href=\"\/single-level-mountain-view-home-in-central-laveen-rl1\">South of Baseline Rd \/ 51st Ave Laveen, CA 85384<\/a><\/b><ul><li><label>Beds:<\/label>3<\/li><li><label>Baths:<\/label>2.5<\/li><li><label>Levels:<\/label>1<\/li><\/ul><ul><li><label>Price:<\/label>$124,563<\/li><li><li><label>Sqft:<\/label>2,500<\/li><li><a href=\"\/single-level-mountain-view-home-in-central-laveen-rl1\">View Details &raquo;<\/a><\/li><\/ul><\/div>","options":{"icon":"\/img\/markers\/number_2.png"}}];

        $('#searchmap').gmap3({

        map:{

            options:{

                center:[base_lat,base_lon],
                zoom: 9,
                mapTypeControl: true,
                mapTypeControlOptions: {
                  style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
                },
                navigationControl: true,
                scrollwheel: true,
                streetViewControl: true
            }

        },

        marker:{

            values: base_markers,

            options:{

                draggable: false

            },

            events:{

                click: function(marker, event, context) {

                    var map = $(this).gmap3("get"),

                    infowindow = $(this).gmap3({get:{name:"infowindow"}});

                    if (infowindow) {

                        infowindow.open(map, marker);
                        infowindow.setContent(context.data);

                    }else {

                        $(this).gmap3({

                            infowindow:{

                                anchor:marker,
                                options:{content: context.data}

                            }

                        });

                    }

                }

            }

        }

    });
var base_lat=33.609063;
var base_lon=-112.105135;
var base_markers=[{“latLng”:[“33.609063”,“-112.105135”,“数据”:”
1.
类型:公寓|建成:1995 |状态:备用或应急
这间迷人的小屋位于Payette湖上,有私人码头和海滩。它提供两间卧室和一个浴室。睡8间,有两间双人房、一个床铺和一个女王藏身处……加利福尼亚州米尔谷(Mill Valley),价格:$520000
  • 6床
  • 3.0
    浴缸
  • 5600平方英尺
  • 2. 类型:房屋|建成:2003 |状态:活动 拥有3200平方英尺的居住面积,距离海洋只有一段距离,让童年梦幻般的沙堡成为现实——你可以成为……加利福尼亚州拉文市的一员,价格:124563美元
  • 3床
  • 2.5浴槽
  • 2500平方英尺
  • 同样,在搜索结果中,如果他们单击其中一个结果的链接,它将使地图居中于该标记所在的位置,因此,例如,第二个结果将居中于地图上的第二个标记,然后信息窗口将自动显示。我如何使用jquery gmap3代码做到这一点?下面是一个Im参考的示例关于:


    好的,我已经找到了答案。下面是我添加的jquery代码:

        $(".propertyclick").click(function() {
    
            //We first scroll to top of page
            $("html,body").animate({ scrollTop: 0 },"fast");
    
            //We then get the current id of the marker being clicked
            var id = $(this).attr('data-marker');
    
            //We now get the marker in the map that they want to see
            var marker = $("#estate_searchmap").gmap3({ get: { id: id } });
    
            //We now simulate that marker being clicked via the map
            google.maps.event.trigger(marker,'click');
    
            return false;
    
        });
    
    在列表结果中,我添加了一个链接,供他们单击以触发此操作:

    <a href="" class="propertyclick" data-marker="property1"></a>
    
    
    
    数据标记保存着我在原始代码base_markers中为json值中的每个标记分配的id。因此,现在您将在每个标记中看到一个新的值,例如id:“property1”,然后下一个将是id:“property2”等等。这就是我在上面的click函数中引用的方法,以知道要调用哪个标记

    <a href="" class="propertyclick" data-marker="property1"></a>