PDA

View Full Version : گفتگو: بدست آوردن شهر و نمایش روی گوگل مپ



ahrimaneahurai
دوشنبه 29 شهریور 1389, 16:47 عصر
سلام دوستان
من با استفاده از کد زیر شهر کاربرم رو بدست میارم


public static string GetLocation()
{
var client = new WebClient();
string ipaddress = string.Empty;
try
{
ipaddress = client.DownloadString("http://whatismyip.org/");
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.ToString() );
}
if (string.IsNullOrEmpty(ipaddress))
{

}
string requrl = string.Format("http://ipinfodb.com/ip_query.php?ip={0}", ipaddress);
var httpreq = WebRequest.Create(requrl) as HttpWebRequest;
try
{
string result = null;
if (httpreq != null)
{
var response = httpreq.GetResponse() as HttpWebResponse;
using (var reader = new StreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}
}
var sr = new StringReader(result);
XElement respElement = XElement.Load(sr);
//XElement respElement = XElement.Load(StringReader(result));
return (string)respElement.Element("City");
}
catch { }
return "";
}

حالا می خوام روی گوگل مپ اگه طرف به اینترنت وصل بود شهر کاربر نمایش یدم. یه کدی برای این کار پیدا کردم اما از جاوا استفاده کرده بود. کاری میشه انجام داد ؟
نمونه کد بالا رو هم براتون گذاشتم.
دقت کنید که برنامه ویندوزی هست تحت وب نیست.
ممنون میشم کمک کنید.

flash118
دوشنبه 29 شهریور 1389, 18:59 عصر
دوست عزیز شما اگه می خواهید دقیق شهر کاربر رو بدست بیارید این فکر نمی کنم روش خوبی باشه جواب میده ولی دقیق نیست چرا؟
حوب برای این که احتمال داره کاربر change ip کنه یا از vpn استفاده کنه پیشنهاد من اینه که شما یه لاگر براش بزاری هنگام کانکت ip بگیره بعدش اونو سند کنه برای گوگل مپ امیدوارم منظورم آشکار باشه که چرا اینو میگم یه راه دیگه هم هست که خودتون برای هر کلاس از ip یه شماره اختصاص بدید و به جای کار اضافه برنامه به دیتای شما رجوه کنه ip بده کد شهر بگیره و بعدش اسمشو feach کنه از بانکتون
امیدوارم که روشن باشه موفق باشین

صادق صدقی
دوشنبه 29 شهریور 1389, 19:18 عصر
سلام

به این لینک (http://www.dotnetcurry.com/ShowArticle.aspx?ID=325&AspxAutoDetectCookieSupport=1)سر بزن

ahrimaneahurai
دوشنبه 29 شهریور 1389, 22:44 عصر
دوستان ممنون
مشکلی با تغییر Ip ندارم.اگه تغییر بده بازم می خوام همون ip رو نشون بده
بیشتر مشکلم روی بدست نشون دادنش مشخصات Ip که همون شهر باشه مشکل دارم. با همون کد طول و عرض جغرافیایی شهر بدست میاد اما نمی تونم تو گوگل مپ نشون بدم
یه کد واسه این کار پیدا کردم اما جواب نمی گیرم.
می خوامکدم رو توی کنترل webbrowser نمایش بدم اما نمیشه.
کدم رو می ذارم
ممنون میشم کمک کنید

string htmlbody = "<html><head><script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>"
+"<script type='text/javascript' src='http://maps.google.com/maps/api/js?sensor=false&hl=fa'></script><script type='text/javascript'>" +
"lat=" + lblLatitude.Text +
";lng=" + lblLongitude.Text +
//";coords=position.coords;" +
";latlng = new google.maps.LatLng(lat, lng);" +
"var myOptions = { zoom: 13,center:latlng, mapTypeControl:false," +
"mapTypeId: google.maps.MapTypeId.ROADMAP };" +
"map = new google.maps.Map(document.getElementById('map_canva s'), myOptions);" +
"</script> </head><body><div id='map_canvas'></div></body></html>";

webBrowser1.DocumentText = htmlbody;

کد این طوری هست که طول و عرض رو میگیره و رو گوگل مپ نشون میده. نمیدونم چرا واسه من کار نمیکنه
ممنون میشم اگه کد دیگه ای سراغ دارید بهم کمک کنید