如何使用以下代码在Bing Maps api中添加引脚:
import Ember from 'ember';
export default Ember.Component.extend({
attributeBindings: ['style'],
classNames: ['bing-map'],
bingKey: "bing-key",
width: '45%',
height: '100%',
latitude: 0,
longitude: 0,
zoom: 0,
mapTypeId: 'r', // r:road, a:aerial
init: function(){
this._super();
if (!this.get('bingKey')){
throw('Missing bingKey');
}
this.api = Microsoft.Maps;
this.map = null;
},
style: function(){
return "position: relative; width: %@px; height: %@px".fmt(
this.get('width'),
this.get('height')
);
}.property('width', 'height'),
center: function(){
var latitude = parseFloat(this.get('latitude'));
var longitude = parseFloat(this.get('longitude'));
longitude = this.api.Location.normalizeLongitude(longitude);
return new this.api.Location(latitude, longitude);
}.property('latitude', 'longitude'),
mapOptions: function(){
return {
center: this.get('center'),
zoom: parseInt(this.get('zoom'),10),
mapTypeId: this.get('mapTypeId')
};
}.property('center','zoom','mapTypeId'),
createMap: function(){
var el = this.$()[0];
var options = this.get('mapOptions');
options.credentials = this.get('bingKey');
this.map = new Microsoft.Maps.Map(el, options);
}.on('didInsertElement'),
removeMap: function(){
this.map.dispose();
}.on('willDestroyElement'),
});
我正在使用ember-cli并尝试根据模板表中选择的项目在地图上设置引脚,但我无法知道如何在此代码中实现的地图上设置引脚(我需要)。 Microsoft Bing Map api网站中的信息没有帮助。
任何人都知道如何实现这一目标? 提前致谢
答案 0 :(得分:1)
不确定Ember或您的代码。但是,如果您可以找出代码中的哪个位置,您想要显示为针脚的位置的坐标,则可以轻松创建这样的图钉:
var loc = new Microsoft.Maps.Location(latitude, longitude);
var pushpin = new Microsoft.Maps.Pushpin(loc);
map.entities.push(pushpin);