如何使用此代码在Bing Maps api中添加引脚?

时间:2015-01-30 21:52:13

标签: ember.js ember-cli bing-maps

如何使用以下代码在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网站中的信息没有帮助。

任何人都知道如何实现这一目标? 提前致谢

1 个答案:

答案 0 :(得分:1)

不确定Ember或您的代码。但是,如果您可以找出代码中的哪个位置,您想要显示为针脚的位置的坐标,则可以轻松创建这样的图钉:

var loc = new Microsoft.Maps.Location(latitude, longitude);
var pushpin = new Microsoft.Maps.Pushpin(loc); 
map.entities.push(pushpin);