如何在地图API v3代码点火器上设置cusctom多标记

How to set a cusctom multi-marker on maps API v3 codeigniter

本文关键字:设置 cusctom 点火器 代码 地图 API v3      更新时间:2023-09-26

codeigniter中的自定义标记有问题。

var locations = 
        [
                <?php if(isset($kop)) : ?>
                <?php foreach($kop->result() as $item) : ?>
                <?php
                    switch ($item->kop_jop) {
                        case '1':
                            $image = "http://localhost/kop/assets/icon/hospital.png";
                            break;
                        case '2':
                            $image = "http://localhost/kop/assets/icon/beach.png";
                            break;
                    }
                ?>              
                ['<div class="media"><div class="media-left"><a href="#"><img style="width:125px; height:90px;" class="media-object" src="<?= base_url(); ?>assets/images/<?= $item->kop_gambar;?>" alt="..."></a></div><div class="media-body"><h4 class="media-heading"><?= $item->kop_nama ;?><br><p style="font-size:12px;color: #767676;"><div class="addr"><?= $item->kop_alamat;?></div><div id="maker"><?= $image;?></div><div id="lat"><?= $item->kop_latitude;?></div><div id="lng"><?= $item->kop_longitude;?></div></p></h4><?= substr($item->kop_deskripsi, 0, 80);?><br><div id="more_detail"><h5><a href="javascript:click_route()">Rute</a> | <a target="_blank" href="<?= base_url()."detail_kop/" . $item->id_kop; ?>">Detail</a></h5></div></div></div>',<?php echo $item->kop_latitude;?>, <?php echo $item->kop_longitude;?>, <?= echo $image;?>],
                <?php endforeach; ?>
                <?php endif; ?>     
        ];
SET VIEW
var marker, i;
            for (i = 0; i < locations.length; i++) {
                marker = new google.maps.Marker({
                    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
                    map: map,
                    icon: location[i][3],
                    animation: google.maps.Animation.DROP
                });
              google.maps.event.addListener(marker, 'click', (function(marker, i) {
                return function() {
                  infowindow.setContent(locations[i][0]);
                  infowindow.open(map, marker);
                }
              })(marker, i));
            }

添加标记时,只需要在循环中添加一个条件

注意-这只是一个伪代码

...
if (var i=0; i<array.length; i++){
    var image = "[default]";
    if (array[i].kop_jop == 1){
        image = "http://localhost/kop/assets/icon/hospital.png";
    } else {
        image = "http: //localhost/kop/assets/icon/beach.png";
    }
    var marker = new google.maps.Marker({
        position: {lat: array[i].lat, lng: array[i].lng},
        map: map,
        icon: image
    });
}
...

有关设置标记的更多信息,请访问