ช่วยทีครับ กด infowindow ใน google map แล้วไม่ยอมขึ้น

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ช่วยทีครับ กด 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 มันไม่ยอมขึ้นอ่ะครับ ไม่ทราบว่าพอจะช่วยได้ไหมครับ ว่าผมโค้ดผิดตรงไหนรึเปล่า

 

ขอบคุณล่วงหน้าครับ



Vincentva 12-02-2011 05:36:37

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

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


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


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

 คงต้องส่งลิ้งค์ url ที่ทดสอบมาให้ดูก่อน ถึงอาจจะช่วยแนะนำได้



ninenik 12-02-2011
 ความคิดเห็นที่ 2

 ผมส่ง script ที่ไว้เปิด google map ไปให้แล้วนะครับ ที่เมล์ ninenik@gmail.com

ขอบคุณล่วงหน้าครับ :)



vincentva 13-02-2011 09:13






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ