• Как отправлять запрос с периодом 5 сек?

    @zlodiak Автор вопроса
    Сергей, вот это меня и пугает. А нельзя ли чего попроще предложить? В rxjs была специальная функция interval() для таких ситуаций. Но что-то у меня не получается её применить...
  • Можно ли в angular2 использовать google/yandex maps без плагинов?

    @zlodiak Автор вопроса
    Всё же меня устроили бы нативный google maps. Но не получается его подключить хотя бы в виде helloworld. Я создаю angular-проект через angular cli и затем добавляю следующий код:

    app.component.html:
    <div id="map"></div>  
    <script src="https://maps.googleapis.com/maps/api/js?v=3&key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU&callback=initMap"
        async defer></script>

    app.component.ts:
    import { Component, OnInit } from '@angular/core';
    
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.scss']
    })
    export class AppComponent implements OnInit {
    
    	ngOnInit() {
    var map;
    
    function initMap() {
      map = new google.maps.Map(document.getElementById('map'), {
        zoom: 4,
        center: {lat: -25.363, lng: 131.044}
      });
    
      renderMarkers();
    
      map.addListener('click', function(e) {
        var lat = e.latLng.lat();
        var lng = e.latLng.lng();    
        var id = 'id_' + Date.now() + lat.toFixed(2) + lng.toFixed(2);
        generateMarker(lat, lng, id);    
      });  
    }
    
    function getMarkersFromLocalStorage() {
      return localStorage.markers ? JSON.parse(localStorage.markers) : {};
    };
    
    function addMarkerToLocalStorage(lat, lng, id) {
      var markers = getMarkersFromLocalStorage();
      markers[id] = {
        lat: lat, 
        lng: lng
      };
      localStorage.markers = JSON.stringify(markers);
    };
    
    function removeMarkerFromLocalStorage(id) {
      console.log('removeMarkerFromLocalStorage');
      var markers = getMarkersFromLocalStorage();
      delete markers[id];
      localStorage.markers = JSON.stringify(markers);
    };
    
    function renderMarkers() {
      var markers = getMarkersFromLocalStorage();  
    
      for(prop in markers) {
        generateMarker(markers[prop].lat, markers[prop].lng, prop);
      };
    };
    
    function generateMarker(lat, lng, id) {  
      var marker = new google.maps.Marker({
        position: {lat: lat, lng: lng},
        map: map
      }); 
      marker.id = id;
      addMarkerToLocalStorage(lat, lng, id);
    
      marker.addListener('rightclick', function(e) {
        var m = this;
        console.log(e, m['id']);    
        removeMarkerFromLocalStorage(m['id']);
        this.setMap(null);
      });   
    
    };		
    	}
      
    }


    В результате в браузере по адресу localhost:4200 я вижу белый экран. При этом консоль браузера не выводит никаких сообщений.

    НО сам по себе этот код рабочий. Вот jsfiddle
  • Ошибка в factory. Как исправить?

    @zlodiak Автор вопроса
    О да! Под 3 питоном запустилось. Спасибо
  • Ошибка в factory. Как исправить?

    @zlodiak Автор вопроса
    А от версии питона зависеть может? У меня 2.7
  • Ошибка в factory. Как исправить?

    @zlodiak Автор вопроса
    Мистика) А в классах, которые выше, ничего менять не надо?
  • Ошибка в factory. Как исправить?

    @zlodiak Автор вопроса
    Спасибо, но не помогло. Сообщение об ошибке то же самое
  • Как вызвать объект из другого объекта?

    @zlodiak Автор вопроса
    спасибо большое. там только метод insert() немного конфликтовал, я его заменил на insert_()