Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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
Javascript-GoogleMapsV3-获取标记的位置_Javascript_Arrays_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript-GoogleMapsV3-获取标记的位置

Javascript-GoogleMapsV3-获取标记的位置,javascript,arrays,google-maps,google-maps-api-3,Javascript,Arrays,Google Maps,Google Maps Api 3,多亏了这个网站和你的帮助,我几乎完成了我的谷歌地图脚本。还有一件事,我需要你的帮助: 我的地图上有多个标记。 我想: -将每个标记位置保存在变量中 -在地图下方创建链接到标记的外部链接 -单击这些链接(如上所述)即可更改地图中心 以下是我目前的脚本: <script type="text/javascript"> var offender_locations = [ ["10001", "Title 2", "icon.png"], ["

多亏了这个网站和你的帮助,我几乎完成了我的谷歌地图脚本。还有一件事,我需要你的帮助:

我的地图上有多个标记。

我想:

-将每个标记位置保存在变量中
-在地图下方创建链接到标记的外部链接
-单击这些链接(如上所述)即可更改地图中心

以下是我目前的脚本:

   <script type="text/javascript">
    var offender_locations = [
        ["10001", "Title 2", "icon.png"],
        ["10002", "Title 3", "icon.png"],
        ["10010", "home", "icon.png"]
    ];

    var myOptions = {
        zoom: 12,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("results_map"), myOptions);
    var latlng = new google.maps.LatLng(0, 0);

    for (i = 0; i < offender_locations.length; i++) {
        var infowindow = new google.maps.InfoWindow(),
            geocoder_map = new google.maps.Geocoder(),
            address = offender_locations[i][0],
            icon_img = offender_locations[i][2];
        (function(addr, img, i) {
            geocoder_map.geocode({
                'address': addr
            }, function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {
                    map.setCenter(results[0].geometry.location);
                    var marker = new google.maps.Marker({
                        map: map,
                        position: map.getCenter(),
                        icon: img
                    });
                    google.maps.event.addListener(marker, 'click', (function(marker, i) {
                        return function() {
                            infowindow.setContent(offender_locations[i][1]);
                            infowindow.open(map, marker);
                        }
                    })(marker, i));

                } else {
                    alert("error!");
                }
            });
        }(address, icon_img, i));
    }

    function zoomin() {
        map.setZoom(15);
    };

    function zoomout() {
        map.setZoom(15);
    }
</script>

var\u位置=[
[“10001”、“标题2”、“icon.png”],
[“10002”、“标题3”、“icon.png”],
[“10010”,“home”,“icon.png”]
];
变量myOptions={
缩放:12,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“results\u map”),myOptions);
var latlng=新的google.maps.latlng(0,0);
对于(i=0;i

最后两个小功能用于外部链接的点击平衡。此时,它们只更改缩放级别,而不更改地图中心。

尝试将标记推到阵列中,以便稍后查看

开始时,do
var markers=[]


然后在每个标记声明之后
markers.push(标记)

尝试将标记推入数组,以便稍后查看它们

开始时,do
var markers=[]


然后在每个标记声明之后
markers.push(标记)

您还可以使用对象存储标记或其他图层,以防以后通过主键访问它们:

var markers = {};

markers['car_1'] = marker;

//change the position of 'car_1'
markers['car_1'].setPosition(x,y);

//you also can create much more complex structure like this
marker['car_2'] = {'title': 'Car 1', _ref: marker};

//change the position of 'car_2'
markers['car_2']._ref.setPosition(x,y);

注意:确保您的对象键(在本例中为:car_1、car_2)不相同(主键)。

您也可以使用对象存储标记或其他层,以防以后通过主键访问它们:

var markers = {};

markers['car_1'] = marker;

//change the position of 'car_1'
markers['car_1'].setPosition(x,y);

//you also can create much more complex structure like this
marker['car_2'] = {'title': 'Car 1', _ref: marker};

//change the position of 'car_2'
markers['car_2']._ref.setPosition(x,y);

注意:确保你的对象键(在我们的例子中:car\u 1,car\u 2)不相同(主键)。

嗨,Gausie,你能更详细一点吗?我是一个真正的javascript新手。我应该把标记数组放在哪里?圈内?一旦我做到了这一点,我该如何称呼单个标记?谢谢很抱歉反应太晚。标记数组位于循环外部(但在范围内-在同一函数内)。要找到单个标记,只需在标记数组中循环!嗨,Gausie,你能再详细一点吗?我是一个真正的javascript新手。我应该把标记数组放在哪里?圈内?一旦我做到了这一点,我该如何称呼单个标记?谢谢很抱歉反应太晚。标记数组位于循环外部(但在范围内-在同一函数内)。要找到单个标记,只需在标记数组中循环!