我们正在尝试从gmaps切换到Leaflet。 设置地图很好,我们所有商店的标记也都可以工作。 我将Leaflet-search用于此用于搜索城市的内置解决方案。
但是它正在对keyPress或类似的东西起作用。
我们希望输入一个带有单独按钮的提交。
之前,我们只是使用了一个带有gmaps中特定网址的ajax,并附加了searchvalue。 但是用Leaflet我无法做到... 看起来像这样:
function geocode(key)
{
var address = key.replace(/ /g, '+');
var url = 'https://maps.googleapis.com/maps/api/geocode/json';
url += "?key=" + SitePreferences.GOOGLE_MAP_API_KEY;
$.ajax({
url : url,
data : {address:address},
dataType: "json",
success : function (json)
{
setGeocode(json);
},
error: function()
{
console.log("Google map API geocode error");
}
});}
如何使用传单? 我尝试了某事,但没有成功:
var url = 'https://nominatim.openstreetmap.org/search?format=json&q={address}';
$.ajax(
{
url:url,
dataType: "json",
success: function(data)
{
console.log(data),
}
});
答案 0 :(得分:1)
您的代码很好,它有语法错误,我也使用数据而不是直接从url发送了参数
$('#find').click(function(){
var url = 'https://nominatim.openstreetmap.org/search';
$.ajax(
{
url: url,
dataType: "json",
data:{
format:'json',
q: '{' + $("#address").val() + '}'
},
success: function(data)
{
console.log(data);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="address" />
<button id="find">find address</button>