PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

ช่วยทีครับ กด 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 IP: 183.89.147.xxx วันที่: 12-02-2011 เวลา: 05:36:37

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

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


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


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

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

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



โดย:  Vincentva IP: 183.89.147.xxx วันที่: 13-02-2011 เวลา: 09:13:27
 ความคิดเห็นที่ 1

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



โดย:  Ninenik IP: 124.121.226.xxx วันที่: 12-02-2011