我一直在使用jQuery-UI-Map插件(http://code.google.com/p/jquery-ui-map/)開發一個映射程序。我有一個問題,我試圖以許多不同的方式解決無濟於事。顯示/隱藏基於屬性jQuery-UI-Map(Google maps API V3)的標記
我有一個下拉,onchange
應過濾地圖上的標記。
以下是有關此問題的代碼片段。有了這段代碼,當我從下拉列表中選擇一個值時,所有的標記都被刪除了。
$('#map').gmap().bind('init', function (evt, map) {
$.getJSON('controllers/markers.json', function (data) {
$.each(data.markers, function (i, marker) {
$('#map').gmap('addMarker', {
'position': new google.maps.LatLng(marker.latitude, marker.longitude),
'icon': "https://chart.googleapis.com/chart?chst=d_bubble_text_small&chld=bb|" + marker.projectNumber + "|004162|FFFFFF|",
'bounds': false,
'statusSelect': marker.status
})
});
$("#statusSelect").change(function() {
$('#map').gmap('find', 'markers', {
'property': 'statusSelect',
'value': $(this).val()
},
function (marker, found) {
if (found) {
$('#map').gmap('addBounds', marker.position);
}
marker.setVisible(found);
});
});
});
});
這裏是我使用的JSON:
http://designsbymitch.com/markers.json
編輯:這裏是地位的HTML下拉 -
<select id="statusSelect">
<option value="Created">Created</option>
<option value="Working">Working</option>
<option value="Complete">Complete</option>
<option value="Task">Task</option>
<option value="Void">Void</option>
<option value="delete">delete</option>
<option value="Paid">Paid</option>
<option value="Overdue">Overdue</option>
<option value="Invoiced">Invoiced</option>
<option value="Non-Billable Expense">Non-Billable Expense</option>
<option value="Billable Expense">Billable Expense</option>
<option value="Unpaid">Unpaid</option>
<option value="new status mitch">new status mitch</option>
<option value="new status mitch again">new status mitch again</option>
</select>
非常抱歉...我嘗試了很多東西,忘記將屬性字段更改回參考。我用相同的結果嘗試了你的代碼。 – mitch
您是否試過jQuery UI Map的['addMarker'](http://code.google.com/p/jquery-ui-map/wiki/Examples#Example_addMarker)和['findMarker'](http:// code。 google.com/p/jquery-ui-map/wiki/Examples#Example_findMarker)方法? – Kelvin
剛剛嘗試過,仍然沒有雪茄。 – mitch