You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2013-11-23 00:43:37

prepitet
Member
Registered: 2013-11-23
Posts: 15

Ustalanie położenia na własnej stronie internetowej

Bez owijania w bawełnę.
Tydzień się już męczę i nie potrafię rozwiązać problemu.
Chcę żeby użytkownicy mojej strony którą robię mieli możliwość wskazania na mapie wybranych miejsc za pomocą pinezki a skrypt na mojej stronie wpisuje wybrane polozenie do bazy sql.
Chciałem żeby to wyglądało ekstremalnie prosto czyli IFRAME z załadowaną samą mapą bez nieczego więcej i na środku pinezka.
Przesuwając mapę ustalają położenie a strona www jakimś skryptem zczytuje długość i szerokość geograficzną z adresu url.
Przykład jak to ma wyglądać --> http://dd102.pro-linuxpl.com/mapa/forum … eetmap.php
Reasumując to chce zrobić to samo co przypinanie pinezki na stronie głównej openstreetamap tylko u siebie na stronce w IFRAME.
Na ten moment zrobiłem skrypt php do którego użytkownik musi wkleić link z wcześniej znalezionej lokalizacji (z włączoną pinezką)
a on wyciąga z adresu długość i szerokość geograficzną i ładuje do ramki odpowiednią mapę ......ale to jest wiocha na całego smile
http://dd102.pro-linuxpl.com/mapa/forum_open.php

Kod pierwszego linku:

<html>
<head>
</head>
<body>
<iframe id="frame" width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openstreetmap.org/export/embed.html?bbox=20.982331037521362%2C52.218256335386144%2C20.992941856384277%2C52.22296240972006&amp;layer=mapnik&amp;marker=52.22060943488999%2C20.98763644695282" style="border: 1px solid black"></iframe>
<button onclick="alert(document.getElementById('frame').src)">odczytaj adres</button>
</body>
</html>

Kod drugiego linku:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<?php
$geo_adres=$_POST['geo_adres'];
echo'<form action="'.$PHP_SELF.'" method="post">
Name: <input type="text" name="geo_adres" value="'.$geo_adres.'" size="90">
<input type="submit">
</form>';

$geo_adres=$_POST['geo_adres']; 
if($geo_adres){

	$wspolrzedne=explode("/", $geo_adres);
	$wynik = count ($wspolrzedne);
	$lon=$wspolrzedne[$wynik-1];
	$lat=$wspolrzedne[$wynik-2];
	$lon_min=$lon-0.007;
	$lon_max=$lon+0.007;
	$lat_min=$lat-0.007;
	$lat_max=$lat+0.007;
	
	if (is_numeric($lon) and is_numeric($lat)){
	echo "lon=$lon<br>";
	echo "lat=$lat<br>";
	echo'<iframe  id="frame" width="800" height="600" src="http://www.openstreetmap.org/export/embed.html?bbox='.$lon_min.'%2C'.$lat_min.'%2C'.$lon_max.'%2C'.$lat_max.'&amp;layer=mapnik&amp;marker='.$lat.'%2C'.$lon.'" style="border: 1px solid black"></iframe>';
	}else{
	echo"<h1>coś żeś nawaluł</h1>";
	}
}	

?>
</body>
</html>

Pytanie brzmi: jak załadować do ramki samą mapę z nieruchomą pinezką na środku i odczytać wpółrzędne geograficzne konkretnego ustawienia mapy.
Panowie myślę że rozwiązanie tego tematu będzie pomocne dla bardzo wielu webmasterów, pomóżcie.
ps.
jak widać po kodzie nie jestem programistą tak że lakoniczne podpowiedzi nie są dla mnie pomocą.
ps.ps. z open layer nie kumam, wogóle mi się nie chcą ładować ich przykłady, coś tam jest nawalone, bo skoro mi to nie działa to jest duże prawdopodobieństwo że innym tez się będzie wywalać, mam na mysli to http://openlayers.org/dev/examples/ (chyba że nie ma innego rozwiązania ale to ostateczność)

Offline

#2 2013-11-23 11:16:25

Wojciech Brzeziński
Member
Registered: 2011-08-14
Posts: 181

Re: Ustalanie położenia na własnej stronie internetowej

Coś mi się kojarzy jak przez mgłę, że openlayers są be, a leaflet cacy; ale oczywiście mogę się mylić. Może niech się wypowie ktoś, kto używał obu.

Offline

#3 2013-11-23 12:46:43

kazadam
Member
Registered: 2013-10-16
Posts: 72
Website

Re: Ustalanie położenia na własnej stronie internetowej

Nie wiem który jest lepszy (openlayers czy leaflet), ale przez przypadek wiem jak uruchamiać przykłady openlayers. Musisz mieć skrypt OpenLayers.js i plik theme, do których odpowiednio odwołuje się Twój kod html. Przykłady najlepiej uruchamiać pobierając całość z http://openlayers.org/download/. Tam będą (w katalogu examples) przykłady z odpowiednimi dowiązaniami.

Offline

#4 2013-11-24 05:05:26

miklobit
Member
From: Katowice - Wrocław
Registered: 2012-03-29
Posts: 350
Website

Re: Ustalanie położenia na własnej stronie internetowej

Nieruchomy marker w leaflet można np zrobić tak:
http://jsfiddle.net/miklobit/8Sx3x/

Offline

Board footer

Powered by FluxBB