2011-12-21 37 views
10

मैं एपीआई (v7) की वें नवीनतम संस्करण का उपयोग कर रहा साथ एक माउस क्लिक के अक्षांश/देशांतर प्राप्त करने के लिए, और माउस क्लिक पर एक पुशपिन जोड़ना चाहते हैं ...कैसे बिंग मैप्स AJAX नियंत्रण v7

var mapSettings = { 
    'credentials': 'myCredentials', 
    'mapTypeId': Microsoft.Maps.MapTypeId.road, 
    'enableSearchLogo': false, 
    'showMapTypeSelector': false, 
    'showScalebar': false 
}; 

var $map = $('#map'); 
var map = new Microsoft.Maps.Map($map.get(0), mapSettings); 
Microsoft.Maps.Events.addHandler(map, 'click', function (e) { 
    var latitude = ? 
    var longitude = ? 
    var location = new Microsoft.Maps.Location(latitude, longitude); 
    var pushpin = new Microsoft.Maps.Pushpin(location, { 
     'draggable': true 
    }); 
    map.entites.push(pushpin); 
}); 

जैसा कि आप देखते हैं, मैं क्लिक-हैंडलर में फंस गया हूं: मैं अक्षांश & क्लिक के रेखांश कैसे प्राप्त करूं?

+0

उन लोगों के लिए सोचते हुए, बिंग मैप्स v8 में, स्थान कॉलबैक पैरा (ई) के ठीक से लटक रहा है। 'ई। स्थान एन {अक्षांश: 39.2971129 9974974, देशांतर: -111.57935390625, ऊंचाई: 0, ऊंचाई रेफरेंस: -1}' – RyBolt

उत्तर

17

ठीक है, इसे दबाया। यहाँ कोड का सा है कि आप में रुचि रखते हैं:

if (e.targetType == "map") { 
    var point = new Microsoft.Maps.Point(e.getX(), e.getY()); 
    var loc = e.target.tryPixelToLocation(point); 
    var location = new Microsoft.Maps.Location(loc.latitude, loc.longitude); 
    ...... 
} 

e.target.getLocation() केवल काम करता है जब लक्ष्य एक पुशपिन, इन्फोबॉक्स है, आदि वास्तविक मानचित्र पर क्लिक अलग है।

+0

नहीं ... श्रीमान 'अनकॉल्ड टाइप एरर: अपरिभाषित' –

+0

की विधि 'getLocation' कॉल नहीं कर सकता मैंने जवाब अपडेट किया 'e.entity' के बजाय' e.target' का उपयोग करें। देखें कि क्या यह काम करता है। मैं अभी इसका परीक्षण नहीं कर सकता। – talereader

+0

nope ... sry ... 'Uncaught TypeError: ऑब्जेक्ट # में कोई तरीका नहीं है' getLocation'' –