9

के लिए फ़ायरफ़ॉक्स में ट्रिगर नहीं होने वाली घटनाओं पर क्लिक करें, एक नक्शा बनाया है जिसे मैं 'माई मैप्स' के समान कार्य करने का प्रयास कर रहा हूं। मेरे पास उन डीडीएल में चयन के आधार पर दाईं तरफ दो ड्रॉपडाउनलिस्ट हैं, आप एक कस्टम मार्कर/आइकन जोड़ सकते हैं। आप मार्कर प्रकार का चयन करते हैं, फिर मानचित्र के ऊपरी दाएं कोने में स्थित '+' बटन पर क्लिक करें और फिर क्लिक करें जहां आप मार्कर जोड़ना चाहते हैं। मेरी समस्या यह है कि यह आईई, सफारी और क्रोम में ठीक काम करता है, लेकिन फ़ायरफ़ॉक्स में नहीं। क्लिक घटना आग लगती नहीं है।Google मैप्स एपीआई v3: कस्टम मार्कर

यहाँ मानचित्र का स्थान है: https://ait.saultcollege.ca/Michael.Armstrong/Index.html

बटन ऊपरी दाएँ भाग में मार्कर जोड़ने के लिए मेरे 'प्लेसमेकर()' समारोह की ओर इशारा करते एक onclick घटना है। यहाँ प्लेसमेकर(), createMarker() के लिए कोड ...

 
function placeMarker() { 

    select("placeMarker"); 

    var infowindow = new google.maps.InfoWindow({}); 
    var catID = document.getElementById('category'); 
    var typeID = document.getElementById('ddlType'); 
    var category = catID.options[catID.selectedIndex].value; 
    var markerType = typeID.options[typeID.selectedIndex].value; 

    if (!markerType) { 
     alert("You must select an icon type."); 
    } 
    else { 
     var moveListener = google.maps.event.addListener(customMap, 'mousemove', function(event) { 
      if (mapMarker) { 
       mapMarker.setPosition(event.latLng); 
      } else { 
       mapMarker = createMarker(event.latLng, "test", markerType, "test"); 
      } 
     }); 

     var clickListener = google.maps.event.addListener(customMap, 'click', function(event) { 
      if (mapMarker) { 
       select("hand_b"); 
       google.maps.event.clearListeners(customMap, 'mousemove'); 
       google.maps.event.removeListener(listener); 
       mapMarker = createMarker(event.latLng, "test2", markerType, "test"); 

       var htmlInfo = "" + 
        "Category:" + category + "" + 
        "Item:" + markerType + "" + 
        "Notes:" + 
        "Location:" + mapMarker.getPosition().toString() + "" + 
        "" + 
        ""; 

       //infowindow.setContent(htmlInfo); 
       //infowindow.open(customMap, mapMarker); 
      } 
     }); 
    } 
} 

function createMarker(latlng, title, icon, html) { 
    var mapMarker = new google.maps.Marker({ 
     position: latlng, 
     map: customMap, 
     title: title, 
     icon: 'Images/' + icon + '.png' 
    }); 
    return mapMarker; 
} 

function select(buttonId) { 
    document.getElementById("hand_b").className = "unselected"; 
    document.getElementById("placeMarker").className = "unselected"; 
    document.getElementById(buttonId).className = "selected"; 
} 

कोई मदद या सुझाव भयानक होगा। क्या यह शायद एफएफ में एक बग हो सकता है?

+0

साइट पर कोड एक छोटे से अद्यतन, कोई परिवर्तन नहीं है, हालांकि, एक ही मुद्दा है:

यहाँ कोड है कि क्रोम, फायरफॉक्स और IE8 पर काम किया है। कोई विचार? क्या कोई आईई 8, क्रोम और फ़ायरफ़ॉक्स में ऊपर पोस्ट की गई साइट खोल सकता है और अगर मुझे फ़ायरफ़ॉक्स के साथ समस्या हो रही है तो मुझे बताएं? –

उत्तर

1

मैंने ओपन-सोर्स आपदा सॉफ्टवेयर पैकेज के लिए कुछ ऐसा ही किया। इस मामले में, मान लीजिए कि मैंने अपने ड्रॉपडाउन मेनू में "फायर" चुना है और यह ट्रिगर्स addFire() को ट्रिगर करता है। मार्कर पर श्रोता एक क्लिक पर बिंदु हटा देगा या आपको खींचने की अनुमति देगा। नक्शा में एक समय में केवल एक श्रोता हो सकता है, लेकिन प्रत्येक मार्कर के पास एक ही समय में अपना स्वयं का श्रोता हो सकता है।

 
//This function sets up the map for adding a fire icon 
function addFire() { 
//Kill old listener 
if(listening) 
    google.maps.event.removeListener(listenerhandle); 

//Start new listener 
listenerhandle = google.maps.event.addListener(disasterMap, 'click', addFirePoint); 
listening = true; 
}//end addFire 

//This function adds new fire points to the map and controls dragging and clicking 
function addFirePoint(event) { 
//Create the marker 
var fireMarker = new google.maps.Marker({ 
    icon: "./mapimgs/fire.png", position: event.latLng, map: disasterMap, draggable: true }); 

newFireMarkers.push(fireMarker); 
fireMarker.setTitle("Fire"); 

//Listen for clicks on the new marker 
google.maps.event.addListener(fireMarker, 'click', function() { 
     fireMarker.setMap(null); 
    //remove the marker from the array 
    for(i=0;i
संबंधित मुद्दे