title: Passing this in click handler on map
body: <p>I am trying to implement a map in an angular 4 application(using openlayers).I have implemented it this way:
  Html:</p>
  
  <pre><code>&lt;div id="map" class="map" style="width:80vw;height: 60vh;"&gt;&lt;/div&gt;
  </code></pre>
  
  <p>Typescript:
  <br>Declaration:</p>
  
  <pre><code>@ViewChild("mapElement") mapElement:ElementRef;
  public map:any;
  </code></pre>
  
  <p>Initialization:</p>
  
  <pre><code>this.map = new ol.Map({
          layers: [
              new ol.layer.Tile({
                  source: new ol.source.OSM()
              })
          ],
          target: 'map',
          view: new ol.View({
              center: [2905830.0672892607,5532192.9828046],
              zoom: 12
          })
      });
  </code></pre>
  
  <p>In my ts file i also have selectedLat and selectedLon (variables of type any).I want to set those variables based on the coordinates found in the event triggered by the user click on map.To do this i've tried the following:</p>
  
  <pre><code>this.map.on('click',this.some_function);
  </code></pre>
  
  <p>Some_function:</p>
  
  <pre><code>some_function(evt) {
      this.selectedLon=ol.proj.toLonLat(evt.coordinate)[0];
      this.selectedLat=ol.proj.toLonLat(evt.coordinate)[1];
  }
  </code></pre>
  
  <p>The problem that i encounter is the fact that this(in some_function) is reprezented by the map, not my original component.
  Is there a way for me to pass the original this element to some_function?</p>
  
  <p>I also tried but failed:</p>
  
  <pre><code>this.map.on('click',{param1:this},this.some_function);
  </code></pre>
  
  <p>Thank you for your help :)</p>