Как удалить неиспользуемые соединения в пакете служб SSIS, развернутых как шаг задания агента SQL Server?

Это можно сделать, но это довольно ухабистый путь, пока вы не доберетесь туда ... Как говорит Рик, проблема в том, что MarkerClusterer добавляет собственный OverlayView со значками своего кластера на более высоком уровне в качестве обычных маркеров. Единственный способ добавить маркер над кластерами - обыграть кластер с собственным оружием и добавить собственный OverlayView и добавить разметку значка маркера на еще более высокую панель (читайте о панелях здесь ). Мне это действительно не нравится, но это единственный способ, которым я нашел.

Для этого вам нужно создать пользовательский оверлей, реализующий google.maps.OverlayView (ссылка ), хороший пример можно найти здесь здесь (с пояснениями я использовал немного кода из него).

Вот грубый прототип CustomOverlay:

// build custom overlay class which implements google.maps.OverlayView
function CustomOverlay(map, latlon, icon, title) {
    this.latlon_ = latlon;
    this.icon_ = icon;
    this.title_ = title;
    this.markerLayer = jQuery('
').addClass('overlay'); this.setMap(map); }; CustomOverlay.prototype = new google.maps.OverlayView; CustomOverlay.prototype.onAdd = function() { var $pane = jQuery(this.getPanes().floatPane); // Pane 6, one higher than the marker clusterer $pane.append(this.markerLayer); }; CustomOverlay.prototype.onRemove = function(){ this.markerLayer.remove(); }; CustomOverlay.prototype.draw = function() { var projection = this.getProjection(); var fragment = document.createDocumentFragment(); this.markerLayer.empty(); // Empty any previous rendered markers var location = projection.fromLatLngToDivPixel(this.latlon_); var $point = jQuery('
' +'' +'
'); fragment.appendChild($point.get(0)); this.markerLayer.append(fragment); };

Этот оверлей получает карту, объект LatLng и URL-адрес значка. Хорошо, что вы можете написать свой собственный HTML-код для слоя, плохо то, что вы должны обрабатывать все, что API Карт делает для вас (например, обработчик привязки изображения маркера) самостоятельно. Пример работает только с изображениями 32x32px, где якорь находится посередине изображения, поэтому он все еще довольно грубый.

Чтобы использовать CustomOverlay, просто создайте его следующим образом:

// your map center / marker LatLng
var myLatlng = new google.maps.LatLng(24.247471, 89.920990);

// instantiate map
var map = new google.maps.Map(
    document.getElementById("map-canvas"),
    {zoom: 4, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP}
);  

// create the clusterer, but of course with markers
//var markerClusterer = new MarkerClusterer(map, []);

// add custom overlay to map
var customCustomOverlay = new CustomOverlay(map, myLatlng, 'http://www.foo.bar/icon.png');

Надеюсь, это сработает для вас.

0
задан Vu Doan 18 January 2019 в 03:56
поделиться

1 ответ

Если вы внедряете с моделью развертывания проекта, вы наследуете эти диспетчеры соединений. Если вы не хотите, чтобы они были в вашем пакете, вы можете:

  1. Поместить ваш пакет в другой проект;
  2. Преобразовать менеджеры соединений проекта в область пакета для других пакетов.

Но вы не можете иметь свой пакет как часть проекта без менеджеров соединений этого проекта.

0
ответ дан PeterDeV 18 January 2019 в 03:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: