javascript:Bing Maps AJAX Control, Version 7.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Map with valid credentials</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=zh-HK"></script>
<script type="text/javascript">
//参考网址:
/*
https://msdn.microsoft.com/en-us/library/gg427600.aspx 显示语言类型
https://www.microsoft.com/maps/choose-your-bing-maps-API.aspx
http://microsoft.github.io/windows/
http://cn.bing.com/dev/en-us/dev-center
https://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=SearchText&f%5B0%5D.Value=bing%20maps
https://www.bingmapsportal.com/ISDK/AjaxV7#CreateMap1
*/
var map = null;
function getMap()
{
map = new Microsoft.Maps.Map(document.getElementById('myMap'), {credentials: 'your key'});
}
</script>
</head>
<body onload="getMap();">
<div id='myMap' style="position:relative; width:400px; height:400px;"></div>
</body>
</html>
http://www.codeproject.com/Articles/79123/Sample-WPF-Application-Consuming-Bing-Maps-Web-Ser
Supported Cultures
The following table lists supported cultures for map labels, the navigation control and the Microsoft.Maps.Directions module. The Culture column lists values to specify for the mkt parameter.
| Language - Country/Region | Culture | Map Labels | Navigation Control | Microsoft.Maps.Directions module |
|---|---|---|---|---|
|
All |
ngt |
X |
||
|
Czech – Czech Republic |
cs-CZ |
X |
X |
|
|
Danish – Denmark |
da-DK |
X |
X |
|
|
Dutch - Belgium |
nl-BE |
X |
X |
|
|
Dutch – Netherlands |
nl-NL |
X |
X |
X |
|
English - Australia |
en-AU |
X |
X |
|
|
English – Canada |
en-CA |
X |
X |
X |
|
English - India |
en-IN |
X |
X |
X |
|
English - United Kingdom |
en-GB |
X |
X |
X |
|
English - United States |
en-US |
X |
X |
X |
|
Finnish – Finland |
fi-FI |
X |
X |
|
|
French-Belgium |
fr-BE |
X |
X |
|
|
French – Canada |
fr-CA |
X |
X |
X |
|
French-Switzerland |
fr-CH |
X |
X |
|
|
French – France |
fr-FR |
X |
X |
X |
|
German – Germany |
de-DE |
X |
X |
X |
|
Italian – Italy |
it-IT |
X |
X |
X |
|
Japanese - Japan |
ja-JP |
X |
X |
X |
|
Korean-Korea |
Ko-KR |
X |
X |
|
|
Norwegian (Bokmal) - Norway |
nb-NO |
X |
X |
X |
|
Polish - Poland |
pl-PL |
X |
X |
X |
|
Portuguese - Brazil |
pt-BR |
X |
X |
|
|
Portuguese - Portugal |
pt-PT |
X |
X |
|
|
Russian - Russia |
ru-RU |
X |
X |
X |
|
Spanish - Mexico |
es-MX |
X |
X |
X |
|
Spanish - Spain |
es-ES |
X |
X |
X |
|
Spanish – United States |
es-US |
X |
X |
X |
|
Swedish - Sweden |
sv-SE |
X |
X |
X |
|
Chinese – Hong Kong |
zh - HK |
X |
X |
X |
|
Chinese - Taiwan |
zh - TW |
X |
X |
X |
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Bing Map Demo</title>
<script src="Scripts/jquery-2.0.3.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=zh-HK"> </script>
<script type="text/javascript">
var gTheMap;
var gMarker1;
var gMarker2;
$(document).ready(DocLoaded);
function DocLoaded()
{
// golf course coordinates
var StartLat = 44.924254;
var StartLng = -93.366859;
// what element to display the map in
var mapdiv = $("#map_div")[0];
// where on earth the map should display
var StartPoint = new Microsoft.Maps.Location(StartLat, StartLng);
// create the map
gTheMap = new Microsoft.Maps.Map(mapdiv,
{
credentials: 'Asbsa_hzfHl69XF3wxBd_WbW0dLNTRUH3ZHQG9qcV5EFRLuWEaOP1hjWdZ0A0P17',
center: StartPoint,
zoom: 18,
mapTypeId: Microsoft.Maps.MapTypeId.aerial
});
// place two markers
marker1 = PlaceMarker(new Microsoft.Maps.Location(StartLat, StartLng + .0001));
marker2 = PlaceMarker(new Microsoft.Maps.Location(StartLat, StartLng - .0001));
DragEnd(null);
}
// ---- PlaceMarker ------------------------------------
function PlaceMarker(location)
{
var marker = new Microsoft.Maps.Pushpin(location,
{
draggable : true
});
Microsoft.Maps.Events.addHandler(marker, 'dragend', DragEnd);
gTheMap.entities.push(marker);
return marker;
}
// ---- DragEnd -------------------------------------------
var gLine = null;
function DragEnd(Args)
{
var Distance = CalculateDistance(marker1._location, marker2._location);
$("#message").text(Distance.toFixed(1) + ' yards');
// draw a line connecting the points
var Endpoints = [marker1._location, marker2._location];
if (gLine == null)
{
gLine = new Microsoft.Maps.Polyline(Endpoints,
{
strokeColor: new Microsoft.Maps.Color(0xFF, 0xFF, 0xFF, 0), // aRGB
strokeThickness : 2
});
gTheMap.entities.push(gLine);
}
else
gLine.setLocations(Endpoints);
}
// ---- CalculateDistance ------------------------------------
//
// return Yards between two points
function CalculateDistance(Position1, Position2)
{
var lat1 = Position1.latitude;
var lat2 = Position2.latitude;
var lon1 = Position1.longitude;
var lon2 = Position2.longitude;
var EarthRadius = 6371; // km
var dLat = ToRadian(lat2 - lat1);
var dLon = ToRadian(lon2 - lon1);
var lat1 = ToRadian(lat1);
var lat2 = ToRadian(lat2);
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var Kmeters = EarthRadius * c;
var yards = Kmeters * 1000 * 1.0936133;
return yards;
}
// ---- ToRadian -----------------------
//
// input degrees, output radians
function ToRadian(Value)
{
return Value * Math.PI / 180;
}
</script>
</head>
<body>
<div id="map_div" style="width: 100%; height: 100%; "> </div>
<span style="position:absolute; top:0px; right:6em; width: 6em; z-index:100;
text-align:center; background-color: yellow" id="message"></span>
<span style="position: absolute; top: 0px; right:2em; width:4em; background-color: yellow; text-align: center;" >
<a href="http://weblogs.asp.net/stevewellens/archive/2012/12/09/google-and-bing-map-apis-compared.aspx" target="_blank">BLOG</a></span>
</body>
</html>
http://stevewellens.com/GoogleMapsDemo.html?ckattempt=2
http://stevewellens.com/BingMapsDemo.html?ckattempt=1
http://vejs.codeplex.com/
https://www.microsoft.com/maps/choose-your-bing-maps-API.aspx
https://www.bingmapsportal.com/ISDK/AjaxV7#TrafficModule1
http://cn.bing.com/dev/en-us/dev-center
https://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=SearchText&f%5B0%5D.Value=bing%20maps
http://microsoft.github.io/windows/
https://code.msdn.microsoft.com/bing/Bing-Maps-for-JavaScript-84f1effc
https://msdn.microsoft.com/en-us/library/ff701733.aspx
http://www.codeproject.com/Articles/461691/Driving-route-path-direction-with-Bing-Maps-in-Csh
国测局GCJ-02坐标体系(谷歌、高德、腾讯、微软、雅虎等),与百度坐标BD-09体系的转换,在CSDN上有很详细的讲解:
C++:
const double x_pi = 3.14159265358979324 * 3000.0 / 180.0;
void bd_encrypt(double gg_lat, double gg_lon, double &bd_lat, double &bd_lon)
{
double x = gg_lon, y = gg_lat;
double z = sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);
double theta = atan2(y, x) + 0.000003 * cos(x * x_pi);
bd_lon = z * cos(theta) + 0.0065;
bd_lat = z * sin(theta) + 0.006;
}
void bd_decrypt(double bd_lat, double bd_lon, double &gg_lat, double &gg_lon)
{
double x = bd_lon - 0.0065, y = bd_lat - 0.006;
double z = sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi);
double theta = atan2(y, x) - 0.000003 * cos(x * x_pi);
gg_lon = z * cos(theta);
gg_lat = z * sin(theta);
}
csharp:
const double x_pi = 3.14159265358979324 * 3000.0 / 180.0;
/// <summary>
///
/// </summary>
/// <param name="gg_lat"></param>
/// <param name="gg_lon"></param>
/// <param name="bd_lat"></param>
/// <param name="bd_lon"></param>
void bd_encrypt(double gg_lat, double gg_lon,out double bd_lat,out double bd_lon)
{
double x = gg_lon, y = gg_lat;
double z = Math.Sqrt(x * x + y * y) + 0.00002 * Math.Sin(y * x_pi);
double theta = Math.Atan2(y, x) + 0.000003 * Math.Cos(x * x_pi);
bd_lon = z * Math.Cos(theta) + 0.0065;
bd_lat = z * Math.Sin(theta) + 0.006;
}
/// <summary>
///
/// </summary>
/// <param name="bd_lat"></param>
/// <param name="bd_lon"></param>
/// <param name="gg_lat"></param>
/// <param name="gg_lon"></param>
void bd_decrypt(double bd_lat, double bd_lon,out double gg_lat,out double gg_lon)
{
double x = bd_lon - 0.0065, y = bd_lat - 0.006;
double z = Math.Sqrt(x * x + y * y) - 0.00002 * Math.Sin(y * x_pi);
double theta = Math.Atan2(y, x) - 0.000003 * Math.Cos(x * x_pi);
gg_lon = z * Math.Cos(theta);
gg_lat = z * Math.Sin(theta);
}
浙公网安备 33010602011771号