我有一個表單將位置提交給Google的Geocoder並返回lat/long並更改地圖。如果我用ng單擊圖標,它將不起作用,除非我點擊兩次。如果我在表單上使用ng-submit,它會追加到url並且不會執行任務。我覺得我已經接近完成這項工作,但我失去了我做錯了什麼。正確使用ng-submit
下面是形式
<li>
<form action="" class="search-form" ng-submit="convertLatLonToAddress()">
<div class="form-group has-feedback">
<label for="search" class="sr-only">Search</label>
<input type="text" class="form-control" name="search" id="search" placeholder="Search for an address or place name">
<i class="fa fa-search form-control-indicator"></i>
</div>
</form>
</li>
這裏是功能
$scope.convertLatLonToAddress = function(){
var address = $('#search').val();
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
// console.log(latitude + ' and ' + longitude);
$scope.center.lat = latitude;
$scope.center.lon = longitude;
}
});
};
由於@PSL它是固定的!請看下圖:
<li>
<form class="search-form" ng-submit="convertLatLonToAddress(searchText)">
<div class="form-group has-feedback">
<label for="search" class="sr-only">Search</label>
<input type="text" class="form-control" name="search" id="search" placeholder="Search for an address or place name" ng-model="searchText">
<button style="visibility: hidden"></button>
<a ng-click="convertLatLonToAddress(searchText)">
<i class="fa fa-search form-control-indicator"></i>
</a>
</div>
</form>
</li>
而且
$scope.convertLatLonToAddress = function(searchText){
// var address = $('#search').val();
var address = searchText;
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
// console.log(latitude + ' and ' + longitude);
$scope.center.lat = latitude;
$scope.center.lon = longitude;
$scope.$apply();
}
});
};
您$範圍的建議$適用()。修復了雙擊。我必須添加一個ng-click到,我放置在周圍。我無法在表單上進行ng提交工作。事實上,我仍然無法通過不向URL追加?= nameofcityyouentered。仍然更接近! –
@AlexMarple如果你想ng-submit工作,你可以使用''並相應地設計它。如果你在文本框中輸入回車鍵會發生什麼,它也應該起作用? – PSL
因此,我已經在表單上進行了ng-submit,並且我還有一個包裝圖標的錨點。點擊錨點完美地工作。如果你點擊回車鍵(即使有一個可視化隱藏的按鈕),它會將?= whateverCityYouEntered添加到url中。 想法?感謝您的幫助順便說一句。 –