Бесплатно зарегистрируйся и получай уведомления о новых проектах по работе

Поделиться:

Доработать приложение на Angular

Заказчик
Отзывы пользователей: + 0 0 - 0
Зарегистрирован на сайте 6 лет и 10 месяцев
Бюджет: по договоренности
 
Посмотреть приложение можно stackblitz.com/github/ALN...

github.com/ALNovak/map/bl... строка 21 

api: any; 

github.com/ALNovak/map/bl...

строка 39 
Иницилизация конкретного провайдера (конкретной карты)

init(): void {
        try {
            this.api = new google.maps.Map(this.container, this.options);
            this.callbackMap.emit(CallbackName.initMap);
        } catch (error) {

        }
    }


    В дальнейшем например: github.com/ALNovak/map/bl... 
    строка 62 используется this.map.api (в разных файла)
    
    boundsExtend(position: IPosition, bounds: ILatLngBounds): void {
     bounds.extend(this.generateCoordinates(position));
     this.map.api.fitBounds(bounds);
     this.map.api.panToBounds(bounds);
     }

НУЖНО РЕАЛИЗОВАТЬ:

1) нужно что бы this.map.api было определенного типа (в зависимости от выбранной карты)
Например this.map.api: GoogleMapTypes.GooglerMap  ( интерфейс для карты google github.com/ALNovak/map/bl...
Вот пример из другого источника: github.com/infusion-code/...

2) Имеется базовый класс маркера BaseMarker  github.com/ALNovak/map/bl...
строка 87
boundsContainsMarker(marker: BaseMarker): boolean {
let googleMarkerOptions: GoogleMarkerOptions = {
draggable: marker.options.draggable,
clickable: marker.options.clickable,
visible: marker.options.visible,
title: marker.point.title,
position: this.generateCoordinates(marker.point.position),
icon: {
title: 'hotel',
url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUg AAABYAAAAWCAYAAAGzs1ytAAAABGdBTUEAALGPC/xhBQAAAzpJ REFUOBGdVV9Ik1EUP+c65+awpWELXVNpzhBEM6uH/uBDUFBiD4 GQURnlQ9BDL4U9RURWFD0EBTOQoEKIKOnRHqICsyKMoHAJ2VDL gunQzW9//G73XHe/7ZsTsQvj3PM7f75z7/ndMwCxvP6KZyTl5t b7G9zr93BcBDxcWqTSUzFCEsmsUGZsGLu4NEZY3fnMzryp2PPb u8BZ4JRB4wl9XkY091baSCGUiTSBU2PdeaTUPfIUO/c7/65rKf 4VejEzjN4ezwfg0ERGtRgB9aUNcG3PTYWBUVZhfiFYmVUaTIUr VzbaGRRVYFgBpMuyCMj1QeXICmzuwPHABFKZ8xEIKcPyEsMWLQ JB5UBVb3E1QpVzE1wZvARJPSkOo+6WO8Up2FnlTLKutF44V0Hb 5iPQXnss0wSyZt8DX7ke08ZNlgxFOE187wy6jQOSrdpfeYIj70 LOyzjgS7uDn/zSHpxWcStnRvg4ejq4jQIws5sqwxKZChAdqZgB 4IuEWOKVBuwOKMkraXF2K+jhgT7YuqEJiqxrYCT0TcFSJhNYYx CAkIS419hCTDgXSfa9O/rJCEDgey2GJjaOfAcU20rA5YjCxiJP pgk44mRO56SegIb1jWBhaTNy7Ebf/couXdevmtLkUIh1jIhPHc phNyBiHSnygNRKejGG1dhgmN4d0ZMgU7sJoCZNLsA5XecXVr5/ DDOG18vy4ParjjGN4tUyEhPxeEwbEuQtV8bVSDo2Fth2qIrl8e TlCTb/b1IqgGLpRVAu0lGyHfReUjKXd201XN5lbtTd4Tvwdvx1 plvOPQLrEMNJzEfOfdke9MoftzyB+ELc4Ae9dGKkWlpyHpr7di o1LREDjN5lGjHvKOlcYg6iyaj8zcZn4cxAJwxNDsLBp/vAZrGb A1Ia5WT02HNaBRhJROBPdAqmtRDMaNMwFf0NUYEFZ3+KOZVYLk xcMA6kJiL+yKaWq9AFh2valg8WloRI7v98L8sHw2IqVUm6yQGT 1N+I1pr+CLIiVlbFEHJb2G7itMFjipJDNK49X/UHREJmtR1SHK ZcpsQEqEV/GlqEtYp53yq8alWTacSID39FwH6bQ+/PHMQqluQ/ Z99EBkHYrrcAAAAASUVORK5CYII='
},
zIndex: 10
};

let googleMarker = new google.maps.Marker(googleMarkerOptions);
googleMarker["point"] = marker.point;
google.maps.event.addListener(googleMarker, EventType.click, () => {
this.setSelectedMarker(googleMarker);
this.map.callbackMap.emit(CallbackName.markerClick , googleMarker.point.id);
});

if (this.getBounds().contains(googleMarker.getPositio n())) {
this.map.geo.pushMarkers(googleMarker);
this.map.cluster.addMarker(googleMarker, false);
}
return true;
}

В массиве маркеры хранятся в базовом классе,нужно создать метод конвертации из базового маркера в конкретный и наоборот
github.com/ALNovak/map/bl...
Разделы:
Опубликован:
06.12.2018 | 22:22

Теги: Веб программисты удаленно, нужен программист, резюме программиста, требуется программист, резюме веб программиста