我正在寻找一个脚本,我可以在输入框中添加地址或邮政编码,并在另一个输入框中显示google latitute和longitute。
我发现这个网站是这样做的:
http://www.doogal.co.uk/LatLong.php
但我不需要那么多,只需要找到你有搜索,纬度和经度部分的部分。
任何人都可以提供任何信息或网址或脚本来执行此操作吗?
我找到的所有地址都是地图地址......我只需要经纬度和地址。
答案 0 :(得分:1)
他们在that page上使用的代码是:
function Geocode()
{
$("#locations").html("");
$("#error").html("");
// geocode with google.maps.Geocoder
var localSearch = new google.maps.Geocoder();
var postcode = $("#postcode").val();
localSearch.geocode({ 'address': postcode },
function(results, status) {
if (results.length == 1) {
var result = results[0];
var location = result.geometry.location;
GotoLocation(location);
}
else if (results.length > 1) {
$("#error").html("Multiple addresses found");
// build a list of possible addresses
var html = "";
for (var i=0; i<results.length; i++) {
html += '<a href="javascript:GotoLocation(new google.maps.LatLng(' +
results[i].geometry.location.lat() + ', ' + results[i].geometry.location.lng() + '))">' +
results[i].formatted_address + "</a><br/>";
}
$("#locations").html(html);
}
else {
$("#error").html("Address not found");
}
});
}
#postcode
是您在该网站一侧键入地址的地方,results[i].geometry.location.lat() + ', ' + results[i].geometry.location.lng()
循环中的for
将是您的纬度/经度...
答案 1 :(得分:1)
如果您使用Google Maps API,则对地址进行地理编码非常简单。 address
是用户输入街道地址的文本字段。 latlng
是一个文本字段,用于保存输出的纬度/经度。
$('#searchButton').click(function() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode( {'address': $('#address').val() }, function(data, status) {
if (status == google.maps.GeocoderStatus.OK) {
$('#latlng').val(data[0].geometry.location.lat+", "+data[0].geometry.location.lng);
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
return false;
});
请参阅https://google-developers.appspot.com/maps/documentation/javascript/examples/geocoding-simple
答案 2 :(得分:0)
您需要获取API密钥并实施Google Geocoding API。
或者,geocoder.us也提供免费解决方案。
答案 3 :(得分:0)
我为我的网站构建了经纬度查找器:
请参阅: https://www.revilodesign.de/tools/google-maps-latitude-longitude-finder/
function initAutocomplete() {
var markers = [];
autocomplete = new google.maps.places.Autocomplete((document.getElementById('address')),{
types: ['geocode']
});
var myLatLng = {
lat : 52.520008,
lng : 13.404954
};
var map = new google.maps.Map(document.getElementById('map'), {
zoom : 2,
center : myLatLng
});
// START BY CLICK
jQuery('div#find').on('click', function() {
LatLngSearch();
});
// START BY PRESS ENTER
jQuery('#address').bind("enterKey",function(e){
LatLngSearch();
});
jQuery('#address').keyup(function(e){
if(e.keyCode == 13) {
LatLngSearch();
}
});
// DELETE ALL MARKERS
function DeleteMarkers() {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers = [];
};
// SHOW LAT LNG
function LatLngSearch( ) {
var value = jQuery('input#address').val();
if ( value ) {
var request = $.ajax({
url : "ajax.php",
method : "POST",
data : {
address : value
},
dataType : 'json',
success : function(result) {
console.log(result);
if ( result['lat'] && result['lng'] ) {
DeleteMarkers();
jQuery('div#geometry').append('<p><strong>Latitude:</strong> <input readonly="" value="' + result['lat'] + '" /></p>');
jQuery('div#geometry').append('<p><strong>Longitude:</strong> <input readonly="" value="' + result['lng'] + '" /></p>');
var searchLatLng = {
lat : result['lat'],
lng : result['lng']
};
// CENTER MAP
var map = new google.maps.Map(document.getElementById('map'), {
zoom : 14,
center : searchLatLng
});
var marker = new google.maps.Marker({
map : map,
position : searchLatLng,
animation : google.maps.Animation.DROP
});
var infowindow = new google.maps.InfoWindow({
content: '<strong>Lat:</strong> ' + result['lat'] + '<br><strong>Lng:</strong> ' + result['lng']
});
infowindow.open(map,marker);
// ADD MARKER TO ARRAY
markers.push(marker);
}
},
error : function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
}
}
<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?key=YOUR_API_KEY&libraries=places&callback=initAutocomplete" async defer></script>
<div id="finder">
<div id="finder-search">
<input id="address" type="text" />
<div id="find" class="btn button scale-minus">Search</div>
</div>
<div id="geometry"></div>
<div id="map"></div>
</div>
和ajax.php
$address = $_POST['address'];
$address = str_replace(array('ä','ü','ö','ß'), array('ae', 'ue', 'oe', 'ss'), $address );
$address = preg_replace("/[^a-zA-Z0-9\_\s]/", "", $address);
$address = strtolower($address);
$address = str_replace( array(' ', '--'), array('-', '-'), $address );
$address = 'https://maps.googleapis.com/maps/api/geocode/json?address=' . $address . '&key=YOUR_API_KEY';
$json = file_get_contents($address);
$obj = json_decode($json);
$datas['lat'] = $obj->results[0]->geometry->location->lat;
$datas['lng'] = $obj->results[0]->geometry->location->lng;
echo json_encode( $datas );
答案 4 :(得分:0)
draw_plot
我已在我的网站latlongfinder
中使用了它