Leaflet — новая JavaScript-библиотека для карт от CloudMade

L.tileLayer('http://blackdesert-info.ru/map/w/{z}/{x}/{y}.png',

Тебе нужен свой сервер, который будет хранить и отдавать координаты.

За пример благодарю.
А что касается сервера, то где можно прочесть об этом? на VPS я же смогу это организовать? ил карту нужно крепить к mapbox например?

что-то я не очень понял, какой сервер? все же есть cледующий раз буду дочитывать вопрос
надо только png → jpg поменять

L.tileLayer('http://blackdesert-info.ru/map/w/{z}/{x}/{y}.jpg',

Товарищи, подскажите, а можно ли в leaflet отображать слой со спутниковыми снимками yandex и google?

Плагин https://github.com/shramov/leaflet-plugins вроде только карты яндекса/гугла умееет показывать, или нет?

Подскажите, куда копать.

Снимки Bing просто:


  osm.registerLayer(
    'layerBing',
    new L.BingLayer('APIKEYXXXXX', {maxZoom: 18}),
    'Снимки Bing',
    'B',
    true
  );  

А снимки гугла и яндекса?

Да, про jpg я забыл в посте указать, но его конечно же менял.
С этим вопросом спасибо за помощь.

А что касается первого вопроса, можете дать ответ?
“1. Как сделать так, что бы отметки сохранялись. Подскажите пожалуйста в какую сторону копать, что бы найти описание этого, можно даже eng источники. То есть что бы я, как администратор карты, мог установить все метки необходимые, сохранить, и другие могли бы их посмотреть.”

можно, через L.tileLayer, точно также, как делает товарищ двумя постами выше
к сожалению правильных URL я не помню, надо гуглить

Кто нибудь может выручить?
Прочитал кучу литературы настолько что уже запутался напрочь
у меня такая задача, нужно вывести на карту все объекты в заданном
радиусе, с картой разобрался а вот как сделать запрос вообще не могу
сообразить, натыкался на решения вроде этого: http://api.visicom.ua/docs/examples/example-5
Но как сделать что бы все объекты выводило вообще ума не приложу(

Я не вижу тут получить всё.

Ну вот я говорю о том что я не пойму
как например с OSM достать в онлайн режиме
все объекты что бы отобразить их на своем сайте.

Ну если вам немного объектов и вы не боитесь, что вас забанят, то Overpass. А так по хорошему свой сервер.

Ну насчет Overpass, я смотрел:
map.addLayers([
make_layer(“api/interpreter?data=nodeamenity=kindergarten;out;(wayamenity=kindergarten;node(w););out;”, “green”),
make_layer(“api/interpreter?data=nodeamenity=school;out;(wayamenity=school;node(w););out;”, “blue”),
make_layer(“api/interpreter?data=nodeamenity=university;out;(wayamenity=university;node(w););out;”, “orange”)
]);
var data_url = “api/interpreter?data=nodeamenity=school;out;(wayamenity=school;node(w););out;”;

но как это прикрутить к сайту я не могу понять, все эти методы уже не рабочие, и найти какой то рабочий пример мне не удается
насчет количества информации так мне не нужно много, буквально 1-н запрос в день на объекты в радиусе 200-300м. от точки

запрос выглядит примерно так

http://overpass-api.de/api/interpreter?data=[out:json];(node["amenity"="school"](44.8553,38.8030,45.1699,39.3221););out;

возвращает данные в формате OSM XML или же, как в данном случае - в JSON
мануал тут http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL
для лифлета вроде как есть плагин https://github.com/kartenkarsten/leaflet-layer-overpass/

Но про оверпас вам правильно сказали: лучше хранить нужные вам объекты в своей базе (периодически подгружая из ОСМ). Сложные запросы или запросы, возвращающие много данных, могут заставить оверпас надолго задуматься

Спасибо большое, думал не найду как правильно прописать эту строку. Насчет больших запросов то ничего особо страшного нет, постольку задумывалась система без привязки к определенной местности. Большое спасибо за помощь)

Подскажите пожалуйста не программеру, - возможно ли в Leaflet сделать ссылку на маркер с другой страницы или с другого сайта. Т.е. возможно ли расшарить маркер?

Весь интернет перерыл, никаких примеров решения, кроме:
https://groups.google.com/forum/#!searchin/leaflet-js/link$20to$20marker/leaflet-js/l-3mdTlC5Bw/O1a9SYeKcdYJ
который не работает (пример кода ниже)

Сейчас я использую только ссылку на точку на карте с помощью leaflet.hash
http://balimio.com/main/map/bali-map-full#5/43.213/19.116

А хотелось бы получить ссылку типа:
http://balimio.com/main/map/bali-map-full#marker-1

часть кода из GeoJSON:
{
“loc”:[43.2, 19.1],
“id”: “marker-1”,
“title”:“Tegenungan Waterfall”,
“info”:“Tegenungan Waterfall”
},

часть кода из скрипта:
for(pp in pointsPlace) {
var loc = pointsPlace[pp].loc,
title = pointsPlace[pp].title,
info = pointsPlace[pp].info,
id = pointsPlace[pp].id,
marker = new L.Marker(new L.latLng(loc), {title: title} );
marker.bindPopup(info);
markersLayer.addLayer(marker);

Так просто в onload проверять location, вытаскивать код маркера и отображать. Как это делать, можно в плагине L.Hash посмотреть.

Понятно, что ничего не понятно )
В моем вопросе ключевое слово - непрограммер.
Мне надо указать ссылку на id из GeoJSON. Координаты не подходят.

Вопрос не по OSM - просто на работе поставили задачу сделать онлайн-карту на основе собственных карт. Взял Leaflet, порезал карту на плитки, всё работает нормально.

Теперь же я пытаюсь сообразить: как научить Leaflet использовать не пиксельные координаты карты, а географические (широту/долготу). Проблема в том, что карты охватывают большой кусок поверхности:

Поэтому обойтись простым смещением и масштабированием не получится, надо использовать трансформации. А как их использовать - не могу понять. Вроде для этого нужно использовать L.Projection.SphericalMercator, но понятных примеров для своих карт найти не могу. В лучшем случае попадается что-то вроде такого (с использованием библиотеки Proj.4js):

var proj = new L.Proj.CRS.TMS('EPSG:3414', "+proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m +no_defs",
    [4257.9355, 11470.3186, 64359.3062, 49067.5413], 
    {
        resolutions:[76.4372195411057,38.2186097705529,19.1093048852764,9.55465244263822,4.77732622131911,2.38866311065955,1.19433155532978,0.597165777664889,0.298450596901194]
    }
);

но откуда берутся все эти параметры непонятно, везде подразумевается, что это и так очевидно.

Подскажите, пожалуйста, есть ли какие-то статьи, где более-менее понятно разжёвывается этот кейс для программистов, которые новички в картографии? Или, может, где-то есть несложный пример, где для своей карты (не OSM, Google, Яндекс и пр.) делается эта операция?

Спасибо!

помогите. у меня все сломалось. раньше вроде работало.


	$(".delete_place").live('click',function(){
			
				var i=0;
	var element_link=$(this).parent().parent().children().text()[0];
console.log(layer);
	layer.eachLayer(function (layer) {
		i++;
		if (element_link==i) map.removeLayer(layer); 
		
	});
			console.log(element_link);

	layer.eachLayer(function (layer) {
		console.log(layer.getLatLng().lat);

		
	});
			
			
				$(this).parent().parent().remove();

что делать? выше код, который удаляет точку с карты и списка. однако console.log(layer.getLatLng().lat); после каждого удаления показывает что все точки на месте. и соответственно когда добавляю новую точку на карту, у меня в списке опять все удаленные точки появляются!

и еще какая-то неизвестная мне ошибка в консоли браузера
TypeError: this._northEast is undefined leaflet

помогите. помогите. как удалять точки.

А живой пример то есть?

http://moe26.ru/?do=maps
для логина можно “testreg@ya.ru”,“”
жму Добавить нарушение, кликаю по карте много раз. потом Просмотреть места. Удаляю все. Кликаю по карте опять. Удаленные места появляются снова в списке с добавленными