50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

مشکل استفاده از ادیت ثبت مکان گوگل در وب سایت

سلام خسته نباشید برای ادیت ثبت مکان در گوگل به مشکل خوردم میشه راهنمایی کنید قبل من یه جای دیگه که پایین تر از مکتم حقیقی هست ثبت شده من ثبت کردم ولی اعمال شده مشکل اینه میخوام ادیت کنم اطلاعاتشو نمیشه

پرسیده شده در 1396/10/18 توسط

1 پاسخ

0

سلام دوست عزيز

براي استفاده از گوگل مپ تو سايتت بايد :

1- از google Key استفاده كني كه ميتوني اونو از https://developers.google.com/ بگيري (البته كه با فيلترشكن)

2- در سمت كنترل :

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        string markers = "[";
        string conString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
        SqlCommand cmd = new SqlCommand("SELECT * FROM Locations");
        using (SqlConnection con = new SqlConnection(conString))
        {
            cmd.Connection = con;
            con.Open();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    markers += "{";
                    markers += string.Format("'title': '{0}',", sdr["Name"]);
                    markers += string.Format("'lat': '{0}',", sdr["Latitude"]);
                    markers += string.Format("'lng': '{0}',", sdr["Longitude"]);
                    markers += string.Format("'description': '{0}'", sdr["Description"]);
                    markers += "},";
                }
            }
            con.Close();
        }
 
        markers += "];";
        ViewBag.Markers = markers;
        return View();
    }
}

3- در سمت ويو :

@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width"/>
    <title>Index</title>
</head>
<body>
    <div id="dvMap" style="width: 500px; height: 500px">
    </div>
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=API_Key"></script>
    <script type="text/javascript">
        var markers = @Html.Raw(ViewBag.Markers);
        window.onload = function () {
            var mapOptions = {
                center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
                zoom: 8,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var infoWindow = new google.maps.InfoWindow();
            var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
            for (i = 0; i < markers.length; i++) {
                var data = markers[i]
                var myLatlng = new google.maps.LatLng(data.lat, data.lng);
                var marker = new google.maps.Marker({
                    position: myLatlng,
                    map: map,
                    title: data.title
                });
                (function (marker, data) {
                    google.maps.event.addListener(marker, "click", function (e) {
                        infoWindow.setContent(data.description);
                        infoWindow.open(map, marker);
                    });
                })(marker, data);
            }
        }
    </script>
</body>
</html>

3- به جاي API_Key در كد فوق همون كليد مرحله اول رو ميزاري .

** البته نحوه اتصال به ديتابيس تو بخش كنترلر خيلي ابتدايي هستش كه شما به شيوه و روش صحيح عمل كن .

*** كد بالا چندين نقطه كه طول و عرض جغرافيايي اون ارسال شده رو به طور همزمان روي نقشه mark ميكنه .

موفق باشي

پاسخ در 1396/10/19 توسط

پاسخ شما