آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

نمایش آنلاین اشیا بر روی گوگل مپ

علی  6 سال پیش  6 سال پیش
+1 0

سلام دوستان تصور کنید تعدادی تاکسی دارین به عنوان مثال بعد در هر لحظه یا مثلا هر سی ثانیه موقعیتشون بر روی نقشه قراره آپدیت  بشه . کسی تا حالا اینکارو کرده ؟ 

+1 0
خب مختصات جدید باید از یه جایی خونده بشه دیگه درسته ؟ مثلا مختصات رو گوشی هر راننده هی تو دیتابیس آپدیت میکنه و مختصات جدید رو میفرسته و شما فقط باید تو هر سی ثانیه یه بار اون اطلاعات رو از دیتابیس بخونید و position جدید براش اختصاص بدید حتی میتونید نقاط رو هم به هم متصل کنید . مشکلتون دقیقا تو کدوم قسمته ؟ (6 سال پیش)
0 0
ممنون دوست من . مشکلم اینه که چجوری توی جاوا اسکریپت لت و لانگ رو بگیرم در هر لحظه . این کد رو ببینید دستی داره کار میکنه. استاتیکه . حالا موندم چجوری داینامیکش کنم (6 سال پیش)
+1 0
مشابه این کار رو انجام دادم, به جای تاکسی قضیه دوچرخه بود. کار ساده ای هست , شما اطلاعات رو از بانک با ajax میخونید و در map نمایش میدید, خود map این قابلیت رو داره که توی تایم مشخصی مثلا هر 10 ثانیه 1 بار اطلاعات رو رفرش کنه, هرچند با راه های بسیار زیادی میتونید این رفرش رو پیاده سازی کنید ولی در کل بیشتر از 1 روز زمانتون رو نمیگیره برای تحقیق و پیاده سازی (6 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
علی  6 سال پیش
0 0

  <!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>????</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<style>
body {
margin: 0;
padding: 0;
}
#map {
position:absolute;
top:0;
bottom:0;
width:100%;
}
</style>

<script type="text/javascript" src="https://pubnub.github.io/eon/v/eon/1.0.0/eon.js"></script>
<link type="text/css" rel="stylesheet" href="https://pubnub.github.io/eon/v/eon/1.0.0/eon.css"/>

</head>
<body>

<div id='map'></div>
<script>
function getNonZeroRandomNumber(){
var random = Math.floor(Math.random()*199) - 99;
if(random==0) return getNonZeroRandomNumber();
return random;
}
</script>
<script>
var pn = new PubNub({
publishKey: 'pub-c-bfd9b318-5156-479d-898b-0f51a4821f03', // replace with your own pub-key
subscribeKey: 'sub-c-2309e20a-2349-11e7-a9ec-0619f8945a4f', // replace with your own sub-key
ssl: (('https:' == document.location.protocol) ? true : false)
});

function getNonZeroRandomNumber(){
var random = Math.floor(Math.random()*199) - 99;
if(random==0) return getNonZeroRandomNumber();
return random;
}

var channel = 'pubnub-mapbox-' + getNonZeroRandomNumber();

var map = eon.map({
pubnub: pn,
id: 'map',
mbId: 'ianjennings.l896mh2e',
mbToken: 'pk.eyJ1IjoiaWFuamVubmluZ3MiLCJhIjoiZExwb0p5WSJ9.XLi48h-NOyJOCJuu1-h-Jg',
channels:[channel],
connect: connect,
message: function (data) {
map.setView(data[3].latlng, 13);
}
});

function connect() {
var me = {
icon: {
'marker-color': '#ce1126'
}
};
var them = {
icon: {
'marker-color': '#000000'
}
};

var torchys = [
{ latlng: [26.524929, 54.003649] },
{ latlng: [26.521129, 53.951211] },
{ latlng: [26.111229, 53.951211] },
{ latlng: [26.526820, 53.951211] },
{ latlng: [26.524929, 53.951211] },
{ latlng: [26.524929, 53.951211] }
];

setInterval(function(){
var new_torchys = JSON.parse(JSON.stringify(torchys));
for (var i = 0; i < new_torchys.length; i++) {
new_torchys[i] = {
marker: new_torchys[i].marker,
latlng: [
new_torchys[i].latlng[0] + (getNonZeroRandomNumber() * 0.0001),
new_torchys[i].latlng[1] + (getNonZeroRandomNumber() * 0.0002)
]
}

}

pn.publish({
channel: channel,
message: new_torchys
});

}, 2000);

};

</script>

</body>
</html>
 
 
 
 
پاسخ به سوال 
علی  6 سال پیش
0 0

کد بالا رو میخام داینامیکش کنم . همه چیزش اوکیه و کار میکنه . توی داینامیک کردنش موندم . 

+1 0
موقعی که صفحه لود میشه و هربار که روی یکی از نقاط کلیک میشه ( یا مثلا بعد از هر 15 ثانیه رفرش بشه ) یه درخواست ajax بزنید به سرور و در هنگام برگشت از سرور اطلاعات نقشه رو آپدیت کنید (6 سال پیش)
+1 0
شما دارید اطلاعات رو به صورت دستی به نقشه میدید دیگه , همونجا یه ajax بزنید و از سرور بخونید اطلاعات رو (6 سال پیش)
0 0
یعنی میشه بجای اون قسمتی که نوشته new_torchys یه فانکشن ajax صدا زد ؟ (6 سال پیش)
0 0
اگر اطلاعاتتون داخل torchys هست که باید اونجا ajax بزنید , اگر داخل new_torchys هست که باید همونجا ajax بزنید. (6 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .