2017-09-07 1 views
0

Google지도에 여러 마커를 추가해야합니다 (googlemap 라이브러리를 사용하여 Google지도를 추가했습니다.) 또한이지도에 마커를 추가했습니다. 단일 마커 코드 :Google지도에 다중 마커를 추가하는 방법

컨트롤러 :

$data['tunnels'] = $this->functional->getTunnelData(); 
    $config['center'] = '37.4419, -122.1419'; 
    $config['zoom'] = 'auto'; 
    $this->googlemaps->initialize($config); 
    $marker = array(); 
    $marker['position'] = 'center'; 
    $this->googlemaps->add_marker($marker); 
    $data['map'] = $this->googlemaps->create_map(); 

모델 :

$this->db->select('ult_tunnel.*,ult_country.name as country_name,ult_state.name as state_name,ult_city.name as city_name ') 
        ->join('ult_country','ult_country.id = ult_tunnel.country_id') 
        ->join('ult_state','ult_state.id = ult_tunnel.state_id') 
        ->join('ult_city','ult_city.id = ult_tunnel.city_id') 
        ->from('ult_tunnel') 
        ->where('ult_tunnel.status','Active') 
        ->get()->result(); 

보기 :

<div class="col-md-12 col-xs-12 col-sm-12 col-lg-12" id="map"> 
     <?php echo $map['js']; ?> 
     <?php echo $map['html']; ?> 
    </div> 

이 GoogleMap으로 여러 마커를 추가로 저를 도와주세요. 도움이 될 것입니다.

미리 감사드립니다.

편집 :

테이블 구조 : 이 포함

아이디 (INT 기본 키)

이름 (VARCHAR)

국가 (INT)

상태를 (int)

도시 (INT)

상태 내가

답변

1

당신은 솔루션을 다음과 같은 코드를 변경할 수 있습니다 구글 맵에 이름을 표시 할

. 당신의 컨트롤러에서

변경 :

$data['tunnels'] = $this->functional->getTunnelData(); 
$config['center'] = '37.4419, -122.1419'; 
$config['zoom'] = 'auto'; 
$this->googlemaps->initialize($config); 

// First Marker 
$marker = array(); 
$marker['position'] = '37.429, -122.1519'; 
$marker['infowindow_content'] = 'Welcome Googel Map'; 
$marker['icon'] = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|9999FF|000000'; 
$this->googlemaps->add_marker($marker); 

// Second Marker 
$marker = array(); 
$marker['position'] = '37.409, -122.1319'; 
$marker['draggable'] = TRUE; 
$marker['animation'] = 'DROP'; 
$this->googlemaps->add_marker($marker); 

// third Marker 
$marker = array(); 
$marker['position'] = '37.449, -122.1419'; 
$marker['onclick'] = 'alert("You just clicked on Maker!!")'; 
$this->googlemaps->add_marker($marker); 

// Add Dyanamic Place name In Infowindow content 
if(!empty($data['tunnels'])){ 
    foreach ($data['tunnels'] as $value) { 
     $marker = array(); 
     $marker['position'] = $value->name.",".$value->city_name.",".$value->state_name.",".$value->country_name; 
     $marker['infowindow_content'] = $value->name.",".$value->city_name.",".$value->state_name.",".$value->country_name; 
     $marker['icon'] = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|9999FF|000000'; 
     $this->googlemaps->add_marker($marker); 
    } 
} 

$data['map'] = $this->googlemaps->create_map(); 

나는이 의지가 당신을 도움이되기를 바랍니다. 감사!

+0

고맙습니다.하지만 마커를 동적으로 추가하고 싶습니다. 예를 들어. (그냥 마커를 통해 장소의 이름을 보여주고 데이터베이스에 저장하고 싶습니다.) – user6891871

+0

lat와 long이있는 장소의 이름을 얻기 위해 테이블 ​​구조를 게시하십시오. –

+0

제 편집 된 부분을 확인하십시오 .. – user6891871