PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum


สอบถามเกี่ยวกับการ สร้าง Marker แผนที่ ที่ดึงมาจากฐานข้อมูลหน่อยค่ะ

สอบถามเกี่ยวกับการ สร้าง Marker แผนที่ ที่ดึงมาจากฐานข้อมูลหน่อยค่ะ

จากบทความนี้
http://www.ninenik.com/%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87_%E0%B8%95%E0%B8%B1%E0%B8%A7_marker_%E0%B8%A3%E0%B8%B0%E0%B8%9A%E0%B8%B8%E0%B8%95%E0%B8%B3%E0%B9%81%E0%B8%AB%E0%B8%99%E0%B9%88%E0%B8%87_%E0%B9%83%E0%B8%99_google_map_%E0%B8%88%E0%B8%B3%E0%B8%99%E0%B8%A7%E0%B8%99%E0%B8%A1%E0%B8%B2%E0%B8%81_%E0%B8%88%E0%B8%B2%E0%B8%81_xml_%E0%B9%84%E0%B8%9F%E0%B8%A5%E0%B9%8C-336.html

ถ้าในฐานข้อมูลหนูเก็บค่าการซูมด้วย  

ใครพอจะมีตัวอย่างโค้ดบ้างค่ะ    crying   



โดย:  Irondream IP: 101.109.103.xxx วันที่: 31-05-2017 เวลา: 22:12:12

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 1
  ปกติการ zoom ใช้กับ map ไม่ใช่หรอ ไม่ได้ใช้กับ marker


โดย:  Ninenik IP: 1.46.230.xxx วันที่: 31-05-2017
 ความคิดเห็นที่ 2

หนูอยากเอาค่าการซูม ที่บันทึกในฐานข้อมูล มาแสดงในแผนที่อ่ะค่ะพี่ 

ให้เแผนที่ Zoom ไปใกล้ๆ Marker 



โดย:  Irondream IP: 101.109.103.xxx วันที่: 01-06-2017 เวลา: 10:20:00
 ความคิดเห็นที่ 3
ไม่รู้ว่าเก็บค่าแบบไหน ถ้าเก็บในข้อมูลเดียวกับพิกัด ก็สามารถเพิ่มเข้าไปในไฟล์ xml ได้เลย
 
<markers>
<?php
$q="SELECT * FROM province_latlng WHERE 1 ORDER BY province_id LIMIT 30 ";
$qr=mysql_query($q);
while($rs=mysql_fetch_array($qr)){
?>
    <marker id="<?=$rs['province_id']?>">
        <name><?=$rs['province_name']?></name>
        <latitude><?=$rs['province_lat']?></latitude>
        <longitude><?=$rs['province_lon']?></longitude>
        <zoom><?=$rs['zoom']?></zoom>
    </marker>
<?php } ?>
</markers>
 
เวลานำค่ามาใช้ก็ประมาณนี้ ดึงค่ามาเก็บในตัวแปร
 
$.ajax({
	url:"genMarker.php", // ใช้ ajax ใน jQuery เรียกใช้ไฟล์ xml
	dataType: "xml",
	success:function(xml){
		$(xml).find('marker').each(function(){ // วนลูปดึงค่าข้อมูลมาสร้าง marker
				var markerID=$(this).attr("id");// นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน    
				var markerName=$(this).find("name").text(); // นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน    
				var markerLat=$(this).find("latitude").text(); // นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน 
				var markerLng=$(this).find("longitude").text(); // นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน          
				var markerZoom=$(this).find("zoom").text(); 
				var markerLatLng=new GGM.LatLng(markerLat,markerLng);
				var my_Marker = new GGM.Marker({ // สร้างตัว marker
					position:markerLatLng,  // กำหนดไว้ที่เดียวกับจุดกึ่งกลาง
					map: map, // กำหนดว่า marker นี้ใช้กับแผนที่ชื่อ instance ว่า map
					title:markerName // แสดง title เมื่อเอาเมาส์มาอยู่เหนือ
				});
			//  console.log($(this).find("id").text());
		});
	}   
});     
 
 
แต่เนื้อหาตามลิ้งค์ด้านบนเป็นการวนลูปแสดง marker ทั้งหมดพร้อมกันในแผนที่ จึงใช้ค่า zoom ไม่ได้
แนวทางการใช้ ปกติจะใช้เมื่อคลิกที่ marker แล้วค่อยเอาค่ามากำหนดในแผนที่ ซึ่งขึ้นกับการประยุกต์
 
ลองหาดูเนื้อหาเพิ่มเติมได้ที่ http://www.ninenik.com/google_search.php?tags=google%20map


โดย:  Ninenik IP: 180.183.117.xxx วันที่: 01-06-2017
 ความคิดเห็นที่ 4



หนูอยากให้ขึ้นประมาณนี้อะค่ะพี่ ขึ้นค่าพิกัดจากสถานที่เดียวที่เราเลือกดู

ฐานข้อมูลมี 
id  = รหัสสถานที่
lat_value = ละติจูด
lon_value = ลองจิจูด

zoom_value = ซูม
namePlace = ที่แผ่นที่


ใครพอมีตัวอย่างเปล่าค่ะ หนูงมโค้ดมาหลายวันเเล้ว crying



โดย:  Irondream IP: 101.109.104.xxx วันที่: 01-06-2017 เวลา: 17:52:48