- Posts: 104
- Thank you received: 0
Загрузка собственного рисунка вместо карты
- Lemonez
- Topic Author
- Offline
- Premium Member
Less
More
9 years 6 months ago #6522
by Lemonez
Replied by Lemonez on topic Загрузка собственного рисунка вместо карты
Папки с нарезками и файл загрузил на хостинг в папку домен/images/map
Функцию подключения URL тайла вставил такую (из html файла нарезки):
myData.getTileUrl = function (tile, zoom) {
return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
}
Отображается обычная карта Яндекс, а не моя...
Функцию подключения URL тайла вставил такую (из html файла нарезки):
myData.getTileUrl = function (tile, zoom) {
return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
}
Отображается обычная карта Яндекс, а не моя...
Please Log in or Create an account to join the conversation.
- Lemonez
- Topic Author
- Offline
- Premium Member
Less
More
- Posts: 104
- Thank you received: 0
9 years 6 months ago #6523
by Lemonez
Replied by Lemonez on topic Загрузка собственного рисунка вместо карты
По ссылке:
ruszem62.ru/images/map/map.html
отображается нарезанная мною карта...
Но как вставить ее в Ваше расширение я так и не понял... Долго мучался, очень рассчитываю на Вашу помощь!
Но как вставить ее в Ваше расширение я так и не понял... Долго мучался, очень рассчитываю на Вашу помощь!
Please Log in or Create an account to join the conversation.
- Dima
- Offline
- Platinum Member
9 years 6 months ago #6524
by Dima
Don't forget support my developments: post review in JED , donate , help with translation
Replied by Dima on topic Загрузка собственного рисунка вместо карты
В примере была аналогия, только там было с OpenStreetMap
Вот что у Вас сгенерировано
Т.е. возвращаемый URL
Только надо заменить %x %y %z по аналогии с примером
Вот что я сделал
Т.е. моя функция
И настройки карты
Первый параметр выставляет слой по умолчанию (первый из списка пользовательских)
Второй параметр говорит о включении пользовательских слоев на карте
Третий параметр - список ид. пользовательских слоев. В данном случае у меня он равен 2
См. в списке
Результат можно увидеть на сайте разработки (удалю через некоторое время)
j30.zhuk.cc/index.php/zhyandexmap-demo-feature-osm
Вот что у Вас сгенерировано
Т.е. возвращаемый URL
Code:
http://ruszem62.ru/images/map/%z/tile-%x-%y.jpg
Вот что я сделал
Т.е. моя функция
Code:
function (tile, zoom) {
return "http://ruszem62.ru/images/map/"+zoom+"/tile-"+tile[0]+"-"+tile[1]+".jpg";
}
И настройки карты
Первый параметр выставляет слой по умолчанию (первый из списка пользовательских)
Второй параметр говорит о включении пользовательских слоев на карте
Третий параметр - список ид. пользовательских слоев. В данном случае у меня он равен 2
См. в списке
Результат можно увидеть на сайте разработки (удалю через некоторое время)
j30.zhuk.cc/index.php/zhyandexmap-demo-feature-osm
Don't forget support my developments: post review in JED , donate , help with translation
Please Log in or Create an account to join the conversation.
- Dima
- Offline
- Platinum Member
9 years 6 months ago #6525
by Dima
Don't forget support my developments: post review in JED , donate , help with translation
Replied by Dima on topic Загрузка собственного рисунка вместо карты
Да,не забудьте про центр карты.
См. у меня в настройках видно
См. у меня в настройках видно
Don't forget support my developments: post review in JED , donate , help with translation
The following user(s) said Thank You: Lemonez
Please Log in or Create an account to join the conversation.
- Lemonez
- Topic Author
- Offline
- Premium Member
Less
More
- Posts: 104
- Thank you received: 0
9 years 6 months ago #6526
by Lemonez
Replied by Lemonez on topic Загрузка собственного рисунка вместо карты
Все получилось! Спасибо!
Please Log in or Create an account to join the conversation.
- Lemonez
- Topic Author
- Offline
- Premium Member
Less
More
- Posts: 104
- Thank you received: 0
9 years 6 months ago #6590
by Lemonez
Replied by Lemonez on topic Загрузка собственного рисунка вместо карты
Опять проблемы! Нарезал нарисованую карту, положил тайлы в папку karasi62.ru/images/gp. В настройках написал function (tile, zoom) {
return " karasi62.ru/images/gp/"+zoom+"/tile-"+tile [0]+"-"+tile[1]+".jpg";
}
Все остальное сделал согласно Вашим настрокам... Ничего не получилось! Нету карты!
Вот содержимое файла программы нарезки:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" www.w3.org/1999/xhtml " xml:lang="ru" lang="ru">
<head>
<title>Мой слой</title>
<script src=" api-maps.yandex.ru/1.1/index.xml?key=ACY...QrOsB5Y7fvy5X_oAUg== " type="text/javascript">
<script type="text/javascript">
window.onload = function () {
var options = {
tileUrlTemplate: "./%z/tile-%x-%y.jpg",
controls: {
typeControl: false,
miniMap: false,
toolBar: false,
scaleLine: false
},
scrollZoomEnabled: false,
mapCenter: new YMaps.GeoPoint(-172.608947753906, 84.6070254258957),
backgroundMapType: YMaps.MapType.NONE,
mapZoom: 10,
isTransparent: true,
smoothZooming: false,
layerKey: "my#layer",
mapType: {
name: "Мой слой",
textColor: "#000000"
},
copyright: ""
},
map = new YMaps.Map(document.getElementById("YMapsID")),
myData = new YMaps.TileDataSource(options.tileUrlTemplate, options.isTransparent, options.smoothZooming);
myData.getTileUrl = function (tile, zoom) {
return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
}
var MyLayer = function () {
return new YMaps.Layer(myData);
}
YMaps.Layers.add(options.layerKey, MyLayer);
var mapLayers = options.backgroundMapType ? options.backgroundMapType.getLayers() : [],
myMapType = new YMaps.MapType(YMaps.jQuery.merge(mapLayers, [ options.layerKey ]), options.mapType.name, { textColor: options.mapType.textColor });
map.setCenter(options.mapCenter, options.mapZoom, myMapType);
if (options.copyright) {
map.addCopyright(options.copyright);
}
if (options.controls.typeControl) {
map.addControl(new YMaps.TypeControl([ myMapType, YMaps.MapType.MAP, YMaps.MapType.SATELLITE, YMaps.MapType.HYBRID ], [1, 2, 3]));
}
if (options.controls.miniMap) {
map.addControl(new YMaps.MiniMap());
}
if (options.controls.toolBar) {
map.addControl(new YMaps.ToolBar());
}
if (options.controls.scaleLine) {
map.addControl(new YMaps.ScaleLine());
}
if (options.scrollZoomEnabled) {
map.enableScrollZoom();
}
map.addControl(new YMaps.Zoom());
}
</script>
</head>
<body>
<div id="YMapsID" style="width:550px;height:400px"></div>
</body>
</html>
return " karasi62.ru/images/gp/"+zoom+"/tile-"+tile [0]+"-"+tile[1]+".jpg";
}
Все остальное сделал согласно Вашим настрокам... Ничего не получилось! Нету карты!
Вот содержимое файла программы нарезки:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" www.w3.org/1999/xhtml " xml:lang="ru" lang="ru">
<head>
<title>Мой слой</title>
<script src=" api-maps.yandex.ru/1.1/index.xml?key=ACY...QrOsB5Y7fvy5X_oAUg== " type="text/javascript">
<script type="text/javascript">
window.onload = function () {
var options = {
tileUrlTemplate: "./%z/tile-%x-%y.jpg",
controls: {
typeControl: false,
miniMap: false,
toolBar: false,
scaleLine: false
},
scrollZoomEnabled: false,
mapCenter: new YMaps.GeoPoint(-172.608947753906, 84.6070254258957),
backgroundMapType: YMaps.MapType.NONE,
mapZoom: 10,
isTransparent: true,
smoothZooming: false,
layerKey: "my#layer",
mapType: {
name: "Мой слой",
textColor: "#000000"
},
copyright: ""
},
map = new YMaps.Map(document.getElementById("YMapsID")),
myData = new YMaps.TileDataSource(options.tileUrlTemplate, options.isTransparent, options.smoothZooming);
myData.getTileUrl = function (tile, zoom) {
return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
}
var MyLayer = function () {
return new YMaps.Layer(myData);
}
YMaps.Layers.add(options.layerKey, MyLayer);
var mapLayers = options.backgroundMapType ? options.backgroundMapType.getLayers() : [],
myMapType = new YMaps.MapType(YMaps.jQuery.merge(mapLayers, [ options.layerKey ]), options.mapType.name, { textColor: options.mapType.textColor });
map.setCenter(options.mapCenter, options.mapZoom, myMapType);
if (options.copyright) {
map.addCopyright(options.copyright);
}
if (options.controls.typeControl) {
map.addControl(new YMaps.TypeControl([ myMapType, YMaps.MapType.MAP, YMaps.MapType.SATELLITE, YMaps.MapType.HYBRID ], [1, 2, 3]));
}
if (options.controls.miniMap) {
map.addControl(new YMaps.MiniMap());
}
if (options.controls.toolBar) {
map.addControl(new YMaps.ToolBar());
}
if (options.controls.scaleLine) {
map.addControl(new YMaps.ScaleLine());
}
if (options.scrollZoomEnabled) {
map.enableScrollZoom();
}
map.addControl(new YMaps.Zoom());
}
</script>
</head>
<body>
<div id="YMapsID" style="width:550px;height:400px"></div>
</body>
</html>
Please Log in or Create an account to join the conversation.
Time to create page: 0.220 seconds