[英]Google direction API - How to pass Latitude and Longitude instead of Physical address
[英]How to define latitude & longitude instead of address in google map?
我在我的应用程序中显示地图。我添加了下面的代码,现在地图可以正确显示特定的城市名称。 我的问题是我需要使用特定城市的纬度和经度来获取位置。
我不想要任何新代码。 是否有可能通过传递 @item.Latitude@item.Longitude 而不是 @item.city 来获取此代码本身中的纬度和经度值
<div class="gMapsCanvas" data-address="@item.city"></div>
<script type="text/javascript">
var GoogleMap = function ga(canvas, address) {
// debugger;
var _parent = this;
//this.location = new google.maps.LatLng(-34.397, 150.644);
var options =
{
center: this.location,
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControlOptions:
{
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.TOP_CENTER
},
streetViewControl: false
};
this.map = new google.maps.Map(canvas, options);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address }, function (results, status) {
if (status != google.maps.GeocoderStatus.OK)
return;
_parent.location = results[0].geometry.location;
var marker = new google.maps.Marker(
{
map: _parent.map,
position: _parent.location
});
_parent.resize();
});
};
GoogleMap.prototype.resize = function () {
google.maps.event.trigger(this.map, "resize");
this.map.setCenter(this.location);
}
var Maps = function (classes) {
var _parent = this;
this.maps = new Array();
classes.each(function () {
_parent.maps.push(new GoogleMap($(this).get(0), $(this).attr("data-address")));
});
};
Maps.prototype.resize = function () {
for (var cnt = 0; cnt < this.maps.length; cnt++) {
this.maps[cnt].resize();
}
};
var maps;
</script>
<script type="text/javascript">
$(".tiptext").mouseover(function () {
$(this).children(".description").show();
maps = new Maps($(".gMapsCanvas"));
}).mouseout(function () {
$(this).children(".description").hide();
});
</script>
在浏览器中显示 Google 地图的方式有很多种。 但最简单和最好的两种方法是: 1. 使用 Goggle MAP API https://developers.google.com/maps/?hl=en 2. Google Polymer 如下所示:
<!-- Polyfill Web Components support for older browsers -->
<script src="components/webcomponentsjs/webcomponents-lite.min.js"></script>
<!-- Import element -->
<link rel="import" href="components/google-map/google-map.html">
<!-- Use element -->
<google-map latitude="37.790" longitude="-122.390"></google-map>
尝试 { 'latlng': latitude + ',' + longitude } 而不是 { 'address': address }。
我没有测试它,但它似乎根据 googlemap webservice api 工作: https : //developers.google.com/maps/documentation/geocoding/intro#ReverseGeocoding
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.