بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
نمایش آنلاین اشیا بر روی گوگل مپ
سلام دوستان تصور کنید تعدادی تاکسی دارین به عنوان مثال بعد در هر لحظه یا مثلا هر سی ثانیه موقعیتشون بر روی نقشه قراره آپدیت بشه . کسی تا حالا اینکارو کرده ؟
+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
کد بالا رو میخام داینامیکش کنم . همه چیزش اوکیه و کار میکنه . توی داینامیک کردنش موندم .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .