PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چگونه نقشه گوگل را برای درج یک پست با Php مدیریت کنم ؟



<?php?>
October 11th, 2016, 16:33
سلام .
دارم یک cms املاک برای مشتری مینویسم .
میخوام برای درج هر پست ملکی , بتونه نقشه ملک رو هم مشخص کنه .
این حرکت رو تو چنتا سایت دیدم .

تو نت سرچیدم نتونستم کشف کنم :)

ویدئو آموزشی هست در این مورد ؟

تشکر

eYounes
October 12th, 2016, 13:04
باسلام
من یه توضیح مختصر میدم الباقی رو هم آدرس میدم که از اون آدرس با نگاه کردن به سورس میتونی متوجه بشی اگه بازم سوالی بود بنده و دوستان در خدمت هستیم.


اول فرم کلی و فراخوانی یک نقشه گوگل به صورت زیر هست‌:


<!DOCTYPE html><html>
<body>
<div id="map" style="width:100%;height:500px"></div>
<script>function myMap() { var myCenter = new google.maps.LatLng(37.2529974,55.1703095); var mapCanvas = document.getElementById("map"); var mapOptions = {center: myCenter, zoom: 13}; var map = new google.maps.Map(mapCanvas, mapOptions); var marker = new google.maps.Marker({position:myCenter}); marker.setMap(map);
var infowindow = new google.maps.InfoWindow({ content: "My Place" }); infowindow.open(map,marker);}</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=myMap"></script>
</body></html>


که محل نمایش منطقه مورد نظر رو با استفاده از Latitude و Longitude که من شهر خودم رو انتخاب کردم نمایش میده


var myCenter = new google.maps.LatLng(Latitude,Longitude);

کد زیر هم فک کنم نیاز به توضیح نباشد :



var mapOptions = {center: myCenter, zoom: 13};

والباقی مسائل رو میتونی از آدرس زیر پیدا کنی :

http://www.geocodezip.com/v3_example_click2add_infowindow.html

<?php?>
October 12th, 2016, 15:26
ممنون داداش فقط یک مشکل هست .
فرض کنید کاربر ملک خودشو ادرس دهی کرد تو نقشه و اطلاعات ملک رو پر کرد و دکمه submit رو زد .
حالا چطورباید اطلاعات موقعیت جغرافیایی Latitude و Longitude رو از رویه نقشه که قبل ارسال فرم , تنظیم کرده دریافت کرد ؟

eYounes
October 12th, 2016, 15:36
ببینید دوست عزیز با جاوا اسکریپت می تونی ۲ تا اینپوت از نوع هیدن رو مقدار دهی کنی که یکی شامل lat و دیگری شامل long باشد.
این فقط یک نمونه مثال بود راه های دیگری هم وجود دارد که این راه حل بالا از راحترین راه حل ها می باشد.

<?php?>
October 12th, 2016, 16:05
بازم تشکر .
مشکل همینه که نمیتونم lat و long رو با js یا به دست بیارم .
به خاطر اینکه باکس location توسط js گوگل فراخوانی میشه و من دسترسی تو سورس برنامه خودم بهش ندارم .

میتونید یک نمونه کد js بهم بدید تا long و lat رو به دست بیارم ؟ ممنون

eYounes
October 12th, 2016, 16:21
دوست عزیز خواهش می کنم ولی بنده در اینجا فقط می تونم راهنماییتون کنم شما کد آماده می خواهید .
ولی بازم بیشتر راهنمایی تون می کنم شاید بتونم کمکی کرده باشم.


marker = createMarker(event.latLng, "name", "<b>Location</b><br>"+event.latLng);

event.latLng شامل lat و long هست که با یک explode می تونین این دو تا مقادیر رو در دو فیلد داشته باشین شما یک نگاه به سورس ، آدرسی که بهتون دادم بندازین بازم جایی رو متوجه نشدین بگین راهنمایی کنم .

<?php?>
October 12th, 2016, 22:12
دوست عزیز خواهش می کنم ولی بنده در اینجا فقط می تونم راهنماییتون کنم شما کد آماده می خواهید .
ولی بازم بیشتر راهنمایی تون می کنم شاید بتونم کمکی کرده باشم.


marker = createMarker(event.latLng, "name", "<b>Location</b><br>"+event.latLng);

event.latLng شامل lat و long هست که با یک explode می تونین این دو تا مقادیر رو در دو فیلد داشته باشین شما یک نگاه به سورس ، آدرسی که بهتون دادم بندازین بازم جایی رو متوجه نشدین بگین راهنمایی کنم .

جسارتا من کد اماده نمیخوام . من راهنمایی برای استفاده از کدی که لطف کردید و بهم دادید نیاز دارم .
از اینکه بین این همه ادم تو انجمن شما لطف کردید کمکم کردید یه دنیا ارزش داره برام .
من این تیکه کد event.latLng رو هم قبل اینکه تیکت ارسال کنم تو سورس خودم دیدم و سعی کردم ازش استفاده کنم ولی متاسفانه نتونستم . از jquery استفاده میکنم .

این سایتی که معرفی کردید مو به مو ازش کش رفتم کد هارو . طی تست هایی که انجام دادم هر از چند گاهی چنباری بخش location رو نقشه لود نمیکنه . فک کنم یک باگی داره. ولی بازم عیب نداره از هیچی بهتره .

میخوام بدونم چطور این دو خصوصیت lat+lng رو با js جدا کنم و داخل input => value قرار بدم ؟

ممنون از لطفتون

eYounes
October 13th, 2016, 02:26
با سلام

دوست عزیز بابت سؤ تفاهم پیش آمده عذر خواهی بنده را بپذیرید.

اول از همه شما باید Api های مربوط به گوگل مپ رو فراخوانی کنید.


https://maps.googleapis.com/maps/api/js



کد html



<div id="map_canvas" style="width: 500px; height: 250px;"></div><label>Lat:</label><input id="lat" name="lat" /><br><label>Lng:</label><input id="long" name="long" />

و کد جاوا اسکریپت


var map;
var marker;


function initialize() {
var myLatlng = new google.maps.LatLng(37.2529974,55.1703095);


var myOptions = {
zoom: 13,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);


marker = new google.maps.Marker({
draggable: true,
position: myLatlng,
map: map,
title: "Set lat/lon values for this propert"
});


google.maps.event.addListener(marker, 'dragend', function(event) {




document.getElementById("lat").value = event.latLng.lat();
document.getElementById("long").value = event.latLng.lng();
});


google.maps.event.addListener(map, 'click', function(event) {




document.getElementById("lat").value = event.latLng.lat();
document.getElementById("long").value = event.latLng.lng();
marker.setPosition(event.latLng);
});
}
google.maps.event.addDomListener(window, "load", initialize());


بازم سوال و نقطه مبهمی بود در خدمت هستم. این هم کد آماده هست :104:
و برای دیدن نسخه دمو از کد بالا به لینک زیر مراجعه کنید تا سورس و هم دمو را ببینید.
http://jsfiddle.net/eYounes/7qj25pkL/1/

<?php?>
October 13th, 2016, 16:30
بابت راهنماییتون یه دنیا ممنونم دوست من . واقعا دستتون درد نکنه

Ahmad110
October 13th, 2016, 17:01
تو لینک زیر یه نسخه آماده با پی اچ پی نوشته شده و نیازی هم به مشخصات جغرافیایی نداره ( خودش از آدرسی که وارد شده ، مشخصات رو پیدا میکنه ) . امیدوارم براتون مفید باشه .

http://www.stepblogging.com/how-to-integrate-google-map-api-using-php/