ช่วยทีครับ กด infowindow ใน google map แล้วไม่ยอมขึ้น
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ช่วยทีครับ กด infowindow ใน google map แล้วไม่ยอมขึ้น
คือผมเขียนโค้ด เพื่อใช้ในโปรเจค แล้วทีนี้ ผมจะใช้ google map เพิ่ม marker ไปได้เรื่อยๆ เปลี่ยนสี marker ได้ แต่พอกด infowindow แล้วมันไม่ยอมขึ้นอ่าครับ ผมมีตัวอย่าง function ที่เป็นตัวเพิ่ม marker ลงใน map ให้ดูครับ
function add_marker2(index, our_Latlng, placeID, extension, placeName, placeDesc, markCount) { var shadow = new GGM.MarkerImage("icons/Marker_Red/shadow.png", new GGM.Size(38.0, 34.0), new GGM.Point(0, 0), new GGM.Point(10.0, 17.0)); var infowindow = []; var countInfo = 0; if (markCount == 1) { image1[index] = new GGM.MarkerImage("icons/Marker_Red/red_Marker" + index + ".png", new GGM.Size(20.0, 34.0), new GGM.Point(0, 0), new GGM.Point(10.0, 17.0)); my_Marker[countInfo] = new GGM.Marker({ position: our_Latlng, map: map, icon: image1[index], shadow: shadow, title: 'Click to view info' }); tempString = displayBalloonFormat(placeID, extension, placeName, placeDesc, our_Latlng.lat(), our_Latlng.lng()); infowindow[countInfo] = new GGM.InfoWindow({ content: tempString }); GGM.event.addListener(my_Marker[countInfo], 'click', function () { if (infowindowTemp) { infowindow[infowindowTemp].close(); } infowindow[this.__gm_id].open(map, this); infowindowTemp = this.__gm_id; }); countInfo++; } if (markCount == 2) { image2[index] = new GGM.MarkerImage("icons/Marker_Blue/blue_Marker" + index + ".png", new GGM.Size(20.0, 34.0), new GGM.Point(0, 0), new GGM.Point(10.0, 17.0)); my_Marker[countInfo] = new GGM.Marker({ position: our_Latlng, map: map, icon: image2[index], shadow: shadow, title: 'Click to view info' }); tempString = displayBalloonFormat(placeID, extension, placeName, placeDesc, our_Latlng.lat(), our_Latlng.lng()); infowindow[countInfo] = new GGM.InfoWindow({ content: tempString }); GGM.event.addListener(my_Marker[countInfo], 'click', function () { if (infowindowTemp) { infowindow[infowindowTemp].close(); } infowindow[this.__gm_id].open(map, this); infowindowTemp = this.__gm_id; }); countInfo++; } if (markCount == 3) { image3[index] = new GGM.MarkerImage("icons/Marker_Green/green_Marker" + index + ".png", new GGM.Size(20.0, 34.0), new GGM.Point(0, 0), new GGM.Point(10.0, 17.0)); my_Marker[countInfo] = new GGM.Marker({ position: our_Latlng, map: map, icon: image3[index], shadow: shadow, title: 'Click to view info' }); tempString = displayBalloonFormat(placeID, extension, placeName, placeDesc, our_Latlng.lat(), our_Latlng.lng()); infowindow[countInfo] = new GGM.InfoWindow({ content: tempString }); GGM.event.addListener(my_Marker[countInfo], 'click', function () { if (infowindowTemp) { infowindow[infowindowTemp].close(); } infowindow[this.__gm_id].open(map, this); infowindowTemp = this.__gm_id; }); countInfo++; }
ค่า index เป็น parameter ที่ส่งมาว่าเป็น marker ตัวที่เท่าไร ในสีนั้นๆ เช่น 0,1,2,.... และเป็นตัวกำหนดลำดับของรูป marker
ค่า markCount เป็น parameter ที่ถูกส่งมา เพื่อบอกว่า จะเปลี่ยนสีของ marker ตอนไหน
ค่า countInfo เป็นตัวแปรที่ถูกสร้าง เพื่อเก็บจำนวน marker ทั้งหมดที่มีทุกสี ลำดับมาเรื่อยๆ
ค่า tempString เป็น string ที่ถูกส่งกลับมาจากฟังค์ชั่น ที่ใช้สร้างข้อมูลต่างๆที่จะอยู่ใน infowindow
ผมลองดู โค้ดประมาณนี้อ่ะครับ พอรันขึ้นมาแล้ว marker ขึ้น ตามที่ต้องการ ทั้งสี และจำนวน marker แต่พอกด ให้ขึ้น infowindow มันไม่ยอมขึ้นอ่ะครับ ไม่ทราบว่าพอจะช่วยได้ไหมครับ ว่าผมโค้ดผิดตรงไหนรึเปล่า
ขอบคุณล่วงหน้าครับ
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ