- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Note:click on View on Google Map button only after entering source and destination and add route points only after entering source and destination and dont left any route points textbox blank(i.e dynamic textbox)
源代码取自geocodezip回答的源代码:Inconsistent behaviour drawing a route between two points in Google Maps v3
// Code goes here
var cnt = 1;
var autocomplete = [];
var marker = [];
var markers = [];
var usedIds = [];
var map = null;
var maxNumberOfTextboxAllowed = 5;
var insertTextboxId = [];
google.maps.event.addDomListener(window, 'load', function () {
var places = new google.maps.places.Autocomplete(document.getElementById('source'));
google.maps.event.addListener(places, 'place_changed', function () {
var place = places.getPlace();
var data=
{
"LocationName": document.getElementById("source").value,
"lat": place.geometry.location.lat().toString(),
"lng": place.geometry.location.lng().toString()
}
if (markers.length > 0)
{
markers.splice(0, 1, data)
}
else
markers.splice(0, 0, data);// splice(position, numberOfItemsToRemove, item)
});
var places1 = new google.maps.places.Autocomplete(document.getElementById('destination'));
google.maps.event.addListener(places1, 'place_changed', function () {
var place1 = places1.getPlace();
var data =
{
"LocationName": document.getElementById("destination").value,
"lat": place1.geometry.location.lat().toString(),
"lng": place1.geometry.location.lng().toString()
}
if (markers.length == 1) {
markers.splice(1, 1, data);
}
else if(markers.length > 0)
markers.splice(markers.length - 1, 1, data)
});
});
function GenerateSourceDestinationPoint() {
if (cnt <= maxNumberOfTextboxAllowed) {
var fieldWrapper = $("<div class='fieldwrapper' id='field" + cnt + "'/>");
var fName = $("<input type='text' class='fieldname' id='Txtopt" + cnt + "' name='TxtoptNm" + cnt + "' />");
fieldWrapper.append(fName);
fieldWrapper.append('<br />');
fieldWrapper.append('<br />');
$("#abc").append(fieldWrapper);
var newInput = [];
var newEl = document.getElementById('Txtopt' + cnt);
var txtboxId = 'Txtopt' + cnt;
newInput.push(newEl);
setupAutocomplete(autocomplete, newInput, 0, txtboxId);
cnt = cnt + 1;
} else
alert("Cant create more than 5 textbox")
}
function setupAutocomplete(autocomplete, inputs, i, txtboxId) {
insertTextboxId.push(txtboxId)
autocomplete.push(new google.maps.places.Autocomplete(inputs[i]));
var idx1 = autocomplete.length - 1;
var idx = markers.length - 1;
markers[idx + 1] = markers[idx];
markers[idx] = {};
google.maps.event.addListener(autocomplete[idx1], 'place_changed', function () {
var pos = idx1 + 1;
var place = autocomplete[idx1].getPlace();
if (!place.geometry) {
return;
}
var autoTextbox=
{
"LocationName": document.getElementById(insertTextboxId[idx1]).value,
"lat":autocomplete[idx1].getPlace().geometry.location.lat().toString(),
"lng": autocomplete[idx1].getPlace().geometry.location.lng().toString()
}
markers[idx] = autoTextbox;
initialize();
});
}
function initialize() {
var bounds = new google.maps.LatLngBounds();
var mapOptions = {
center: new google.maps.LatLng(parseFloat(markers[0].lat), parseFloat(markers[0].lng)),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var path = new google.maps.MVCArray();
var service = new google.maps.DirectionsService();
var infoWindow = new google.maps.InfoWindow();
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var poly = new google.maps.Polyline({
map: map,
strokeColor: '#F3443C'
});
var lat_lng = new Array();
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map
});
bounds.extend(marker.getPosition());
for (var i = 0; i < markers.length; i++) {
if ((i + 1) < markers.length) {
var src = new google.maps.LatLng(parseFloat(markers[i].lat),
parseFloat(markers[i].lng));
var smarker = new google.maps.Marker({ position: src, map: map });
bounds.extend(smarker.getPosition());
var des = new google.maps.LatLng(parseFloat(markers[i + 1].lat),
parseFloat(markers[i + 1].lng));
var dmarker = new google.maps.Marker({ position: des, map: map });
bounds.extend(dmarker.getPosition());
service.route({
origin: src,
destination: des,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function (result, status) {
if (status == google.maps.DirectionsStatus.OK) {
for (var i = 0, len = result.routes[0].overview_path.length; i < len; i++) {
path.push(result.routes[0].overview_path[i]);
}
poly.setPath(path);
map.fitBounds(bounds);
}
});
}
}
}
html, body, #map_canvas {
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
#panel {
position: absolute;
top: 5px;
left: 50%;
margin-left: -180px;
z-index: 5;
background-color: #fff;
padding: 5px;
border: 1px solid #999;
}
/*
Provide the following styles for both ID and class,
where ID represents an actual existing "panel" with
JS bound to its name, and the class is just non-map
content that may already have a different ID with
JS bound to its name.
*/
#panel, .panel {
font-family: 'Roboto','sans-serif';
line-height: 30px;
padding-left: 10px;
}
#panel select, #panel input, .panel select, .panel input {
font-size: 15px;
}
#panel select, .panel select {
width: 100%;
}
#panel i, .panel i {
font-size: 12px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&libraries=places,geometry"></script>
<input type="button" onclick="initialize()" value="View on Google Map" />
<br /><br />
<label>Source</label>
<input type="text" value="" name="source" id="source">
<br /><br />
<label>Destination</label>
<input type="text" value="" name="destination" id="destination">
<br /><br />
<button onclick="GenerateSourceDestinationPoint()" class="btn btn-primary" type="button" >Add Points</button>
<div style="border: 1px solid -moz-nativehyperlinktext;"></div>
<div id="abc">
</div>
<br /><br />
<div style="height:400px;width:1000px">
<div id="map_canvas"></div>
</div>
我想在源和目的地之间绘制路径,并连接源和目的地之间的所有点(即城市)
例如:如果我的出发地是英国斯旺西,目的地是英国伦敦,我的路线点如下:
4)现在,当我将第二路线点英国纽波特更改为英国布里斯托尔时,问题就来了强>然后我在谷歌地图中得到意想不到的线条,如下所示:
最佳答案
问题:地理编码异步运行。无法保证路由回调将按所需顺序执行。
当你得到这些直线时,顺序将会混合(在原始演示中也会发生),因为你总是将overview_polyline附加到路径中。
您必须首先创建整个路径(以正确的顺序),然后绘制折线。
但是:
关于javascript - 在源和目的地之间绘制路径并连接所有点(城市)时,谷歌地图路径中出现意外的线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31873729/
我对 Powershell 很陌生,正在设置我的 profile.ps1 文件。我有一些托管 DLL,我经常使用它们来维护全天的进程,我希望能够通过快速函数调用加载它们。所以我在我的 ps1 文件中创
实际上我正在处理让我的代码在 IE 中运行的问题。不幸的是这仍然是必要的。 不受支持的方法的 Polyfill 工作正常。但我想知道,如何/是否可以使“const”和“let”起作用。有什么办法可以做
我有一个按钮,它将 window.location 设置为一个 php 文件,该文件生成一个提要,然后下载该提要。但是,由于文件的大小因放入提要的数据而异,有时从单击按钮到弹出文件对话框可能需要一段时
在 iOS 中获取以下内容的最佳方式是什么: 3 个按钮 (?),点击后会更改显示的信息。我有一些想法,但我想听听有经验的人的意见。我问的是如何获得它的外观,最好是一个接一个地使用按钮吗?如果是的话,
int trees = 3; int tree_x, tree_y; for(int r = 0; r 0) { tree_x = random() % m_townsize;
我看过很多关于 C++ 工厂的帖子,但到目前为止我还没有看到解决我的问题的解决方案。 (虽然我可能遗漏了一些东西。) 示例控制台应用程序: #include #include #include
因此,我在 中有 X 幅图像要垂直居中(下面 jquery 中的类名是实际的 )。这工作得很好但是......它只采用第一个值并将其应用于其余图像,导致第一个居中而其他不居中。 我可能会补充一
好吧,正如您可能看出来的那样,我很难想出一个标题。无论如何,我需要从数据库中选择 5 个项目,不包括第一个项目。更具体地说,我在数据库中有项目,每个项目都有一个特定的、自动递增的 ID。我需要选择 I
给定一个项目数组,每个项目都有一个值和成本,什么是最好的算法来确定达到最小值所需的项目最低成本? 例如: Item: Value -> Cost ------------------- A 2
所以,如果你尝试像这样做一个嵌套类: //nestedtest.php class nestedTest{ function test(){ class E extends
是否可以仅深拷贝特定类型的对象,例如列表、字典或元组 示例:[[1, ], ] 我想深度复制第一个列表(当然还有.. 1),但不是SomeObj或 OtherObj .那些应该作为引用。 是否可以使用
跳至上次编辑 我有一个 Person 对象列表,我需要使用 randomize_pairs 函数将它们随机配对,每个 Person 对象都有一个属性目标他们与谁配对。 我的限制是没有人可以与自己配对(
最好用 ruby,但逻辑就足够了...... 考虑到一周是非标准的,我需要一年中的周数。因此,假设您将一周定义为周六 -> 周五。那么,给定一个日期,它是第几周 (1-52)? strftime
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我有这样的模式规则: $(BIN_DIR)/%: $(SOURCES_DIR)/%/*.c $(CC) $? $(CFLAGS) $(LDFLAGS) -o $@ $(LDLIBS) $(LI
CREATE DATABASE 'some database name' ; 使用 mysql 客户端按预期工作。 来自 php/mysqli 的相同查询(不同的数据库名称)- 有点失败。它写入 IN
我有一个 iPhone 应用程序,它本质上是一个列表。顶部有一个 UINavigationBar,然后有一个保存列表的 UITableView。我希望以某种方式提供一个选项,允许用户以不同的方式对列表
我的客户想要的可能实际上是不可能的 - 他们想要一个不裁剪并保留其尺寸的全屏背景图像。他们愿意接受空白,但他们希望图像尽可能地填满屏幕,而不在任何轴上裁剪。我能够找到很好的脚本来实现真正的整页背景,但
我有两个表:文章和文章标签 articles: id, author, date_time, article_text articletags: id, tag (article.id == arti
我正在开发一个模拟器,供应商可以在其中创建由消费者购买的报价。 提供商将报价放在价格(y 轴)x 质量(x 轴)平面上。 消费者只会购买价格低于他们偏好但质量更高的商品 消费者购买具有最大欧氏距离的商
我是一名优秀的程序员,十分优秀!