Привет
Я хочу использовать пользовательские плитки на картах Google, как в этом примере: https://developers.google.com/maps/documentation/javascript/examples/maptype-image .
Я попытался создать новую директиву, как показано ниже:
<sebm-google-map>
<sebm-google-image-map-type [options]="mapImageOptions"></sebm-google-image-map-type>
</sebm-google-map>
Я просто хотел проверить, был ли это правильный подход, когда все параметры и содержались в компоненте, или он должен быть более подробным, имея атрибут для каждого свойства?
Или, поскольку это на самом деле не визуальный компонент, это должна быть просто служба, которая передается в компонент. (так настроено только с помощью кода без элементов html)
Есть ли какие-либо советы о том, какой подход совершенствуется?
Спасибо
Карл
Привет, Карл,
Я пытаюсь сделать то же самое, загрузить некоторые пользовательские оверлеи WMS, обслуживаемые из внешнего кластера MapServer, но я застрял, потому что не знаю, как получить ссылку на фактический экземпляр googleMap, чтобы добавить свои оверлеи в overlayMapTypes. коллекция).
Я думаю, что должен быть способ получить доступ к исходному экземпляру карты google.map, выставив его через GoogleMapsAPIWrapper?
Это мой подход (пока)... в конструкторе MyComponent.ts
`var overlayMap = ноль;
// Getting a handle on the GoogleMaps api namespace
if ((<any>window).google || (<any>window).google.maps) {
const gm = (<any>window).google.maps;
if (layers.length > 0) {
var overlayMapOptions = {
getTileUrl(coord, zoom) {
var url = this.loadBalanceWms() + "/mapserver.exe?Map=../mapfile/xxx.map";
url += "&mode=tile";
url += "&tile=" + coord.x + "+" + coord.y + "+" + zoom;
url += "&tilemode=gmap";
url += "&layers=" + layers; //WMS layers
url += "&WIDTH=256";
url += "&HEIGHT=256";
return url;
},
tileSize: new gm.Size(256, 256),
isPng: true,
name: "WMSOverlay"
};
overlayMap = new gm.ImageMapType(overlayMapOptions);
// Breaks here
this._mapsWrapper.getMap()
.then(a => {
(<any>a).overlayMapTypes.push(overlayMap);
},
f => {
window.console.log(f);
});
}
};`
@anaratz Это работает, что ты сделал ?? Чтобы создать мозаичную пользовательскую карту
Нет, это не работает...
... потому что коллекция overlayMapTypes не существует в интерфейсе mapTypes.GoogleMap, и я не могу найти способ получить доступ к базовому экземпляру google.maps.Map
@anaratz , значит, для этого еще нет решения?
Нет, не сейчас
@anaratz У меня это работает, но я просто задавал вопрос в начале этого выпуска о том, как структурировать мой код, затем я сделаю PR, должен ли я просто сделать PR и посмотреть, как это пойдет?
@ carl09 , можешь показать нам, как ты это исправил?
@ carl09 да, пожалуйста, Карл.
Привет @smgjreinieren , @anaratz я обновил свой PR и создал демо
http://plnkr.co/edit/OlljPTvgqdq0Na2lvZPN?p=preview
PR: https://github.com/SebastianM/angular2-google-maps/pull/345
любая обратная связь будет здорово
@ carl09 ты тоже написал это в машинописном тексте?
@smgjreinieren Да, это все сделано в текстовом сценарии.
@ carl09 Оооо, теперь я понимаю, извините! Молодец! Спасибо
У меня проблемы с задачей " clang:check ", я просто собираюсь попробовать обновить узел с v4 до v6 и посмотреть, исправит ли это это, это делает вас действительно неуверенным при внесении изменений
@ carl09 carl09 Но нет пользовательского типа карты?
@smgjreinieren Я использовал «Открытые карты улиц» в плункере для отображения изменений, у вас это не работает или вы не это имели в виду?
Как в этом примере: https://developers.google.com/maps/documentation/javascript/examples/maptype-image-overlay .
Я только что увидел ваш другой вопрос, так что теперь я понимаю, что вы имеете в виду.
@carl09 carl09 Я хочу установить собственное изображение в качестве типа карты, это «Открытые карты улиц», изображение, которое создает пользовательский тип карты.
@smgjreinieren у вас есть изображение с геокодированием? или это просто стандартный файл изображения?
вы можете использовать такой инструмент, как http://www.qgis.org/en/site/ , который и геокодирует изображения, а также создает плитки, чтобы вы могли использовать их для карт Google.
@ carl09 Хм, кажется, я не могу им пользоваться! Может быть, вы можете преобразовать изображение для меня?
И почему ваша базовая настройка не распознает MapTypeId из «angular2-google-maps/core»? Вероятно, потому что у него нет ядра, которое я вижу, но как мне его импортировать, чем из вашей установки: https://github.com/carl09/angular2-google-maps-example
Привет @smgjreinieren Я обновил свой пример кода в этом репозитории, если вы хотите его обновить.
каким редактором редактируете? я использую VS Code, и мне кажется, что я знаю ссылки, если это поможет
@carl09 Спасибо, приятель! Но все еще не могу заставить qgis работать на Mac! Могу я отправить вам изображение, это только небольшая часть карты мира, это тоже возможно?
Вот так: http://postimg.org/image/6okpwebsb/
@ carl09 можно ли использовать изображение из локальной папки? вместо онлайн
Привет
Да, вы можете, либо вы можете разместить их в своем экземпляре узла, точно так же, как вы размещаете свои файлы css и js, но я думаю, вы также можете использовать file:// и указать его локально, но не уверен, насколько хорошо это будет работать
Можно ли отключить DefaultUI в конструкторе? Потому что он не распознает это так:
constructor(){
this.imageMapOptions = {
getTileUrl: (coord: ImageMapTypeCoord, zoom: number) => {
return
http://www.sylvanreinieren.com/tiles/ ${zoom}/${coord.x}/${coord.y}.png
},
tileSize: { height: 256, width: 256 },
maxZoom: 16,
minZoom: 12,
radius: 1738000,
name: 'linZ',
disableDefaultUI: true,
alt: 'LINZ Topo Maps'
};
}
Есть прогресс в этой функции? Я только начал смотреть на angular2-google-maps пару дней назад, и похоже, что это решит то, что я хочу добавить в свое приложение, но мне действительно нужно заменить карты Google Maps некоторыми более подробными картами из норвежского " Картверкет».
@ carl09 извините за поздний ответ ... так много дел сейчас. Чтобы соответствовать другим элементам, мы должны использовать отдельные атрибуты, к которым вы можете привязываться, поэтому никаких отдельных [параметров]. Ты согласен с этим?
+1 удар, хотел бы использовать эту функцию
Перенесена ли эта функция пользовательского слоя WMS в новый AGM?
Значит, нельзя получить изображение по URL-адресу и отобразить его на карте?
@sneckelmann мы многое перепробовали, но в конце концов теперь использовали SVGS с базовой кодировкой для маркеров ... не лучшее решение, но оно работает
эта функция обновлена в agm-maps?
@СебастьянМ
Так же, как этот планкр
http://plnkr.co/edit/OlljPTvgqdq0Na2lvZPN?p=preview
реализованы ли наложения карт в AGM?
@ carl09 когда я заменил openstreetmap API openweathermap, плитка заменяла плитку карты. Можем ли мы трансформировать эти плитки?
Я хотел реализовать такую вещь с AGM
https://jsfiddle.net/601oqwq2/221/
@SebastianM , функция находится на рассмотрении в течение длительного времени, можем ли мы получить некоторое представление о ссылке на внутренний экземпляр карты Google, чтобы мы могли сделать хотя бы какой-то обходной путь, пока функция не получит обновление с вашей стороны?
Я нашел кое-что на #1423, дайте мне тоже подумать ;P
@СебастьянМ
Обходной путь для описанного выше сценария
https://github.com/er-shrey/AGM-Openweather-Интеграция
@carl09 посмотри на это
Я думаю, что запрос функции должен быть закрыт, так как для него есть простой обходной путь.
Эта проблема была автоматически помечена как устаревшая, поскольку в последнее время с ней не было никаких действий. Он будет закрыт, если дальнейшая активность не будет выполняться. Спасибо за ваш вклад.
Самый полезный комментарий
эта функция обновлена в agm-maps?