Javascript 使用socket.io和jquery向google地图添加标记
我是socket.io的新手 我可以使用socket和node.js发出事件 现在我想从用户那里得到一个带有lat,lang的数组&然后 在谷歌地图上动态设置标记 这是我的密码Javascript 使用socket.io和jquery向google地图添加标记,javascript,jquery,google-maps,socket.io,Javascript,Jquery,Google Maps,Socket.io,我是socket.io的新手 我可以使用socket和node.js发出事件 现在我想从用户那里得到一个带有lat,lang的数组&然后 在谷歌地图上动态设置标记 这是我的密码 <!doctype html> <html> <head> <title>Socket.IO chat</title> <style> * { margin: 0; padding: 0; box-sizing
<!doctype html>
<html>
<head>
<title>Socket.IO chat</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font: 13px Helvetica, Arial; }
form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
#messages { list-style-type: none; margin: 0; padding: 0; }
#messages li { padding: 5px 10px; }
#messages li:nth-child(odd) { background: #eee; }
#messages { margin-bottom: 40px }
</style>
</head>
<body>
<div id="map" style="width:;height:700px;background:yellow"></div>
<script>
function myMap() {
var mapOptions = {
center: new google.maps.LatLng('23.11', '71.00'),
zoom: 10,
mapTypeId: google.maps.MapTypeId.HYBRID
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCm2vXXUTO627j8UHqDIKvvETwuNT1dqxQ&callback=myMap"></script>
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
$(function () {
var socket = io('http://localhost:3000');
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function(msg){
//I want to add marker here
});
});
}
</script>
</body>
</html>
Socket.IO聊天
*{边距:0;填充:0;框大小:边框框;}
正文{字体:13px Helvetica,Arial;}
表单{background:#000;填充:3px;位置:固定;底部:0;宽度:100%;}
表单输入{边框:0;填充:10px;宽度:90%;右边距:5%;}
窗体按钮{宽度:9%;背景:rgb(130224255);边框:无;填充:10px;}
#消息{列表样式类型:无;边距:0;填充:0;}
#消息li{padding:5px 10px;}
#留言李:第n个孩子(奇数){背景:#eee;}
#消息{页边距底部:40px}
函数myMap(){
变量映射选项={
中心:新的google.maps.LatLng('23.11','71.00'),
缩放:10,
mapTypeId:google.maps.mapTypeId.HYBRID
}
var map=new google.maps.map(document.getElementById(“map”)、mapOptions);
}
发送
$(函数(){
变量套接字=io('http://localhost:3000');
$('form')。提交(函数(){
emit('chat message',$('#m').val());
$('m').val('');
返回false;
});
socket.on('chat message',函数(msg){
//我想在这里添加标记
});
});
}
您可以看到我的活动和谷歌地图脚本一些简单的好开始:
<!doctype html>
<html>
<head>
<title>Socket.IO chat</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font: 13px Helvetica, Arial; }
form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
#messages { list-style-type: none; margin: 0; padding: 0; }
#messages li { padding: 5px 10px; }
#messages li:nth-child(odd) { background: #eee; }
#messages { margin-bottom: 40px }
</style>
</head>
<body>
<div id="map" style="width:;height:700px;background:yellow"></div>
<script>
function myMap() {
var mapOptions = {
center: new google.maps.LatLng('23.11', '71.00'),
zoom: 10,
mapTypeId: google.maps.MapTypeId.HYBRID
}
map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCm2vXXUTO627j8UHqDIKvvETwuNT1dqxQ&callback=myMap"></script>
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
$(function () {
var socket = io('http://localhost:3000');
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function(msg){
var marker = new google.maps.Marker({
position: new google.maps.LatLng('23.11', '71.00'),
title: msg,
label: 'a',
map: map
});
marker.setMap(map);
});
});
</script>
</body>
</html>
你必须添加一些提示,比如发送你的位置、用户名、标记图标等
socket.on('chat message', function(msg) {
socket.emit ('chat message', msg);
});