Thursday, March 22, 2012

newby Q about using Google Maps with ASP.Net 2.0

Ok, over the years I have read about doing web programing and I have
done some real basic stuff. Now I am digging into some real ASP.Net
2.0 and am totally lost some things.

I have a master page setup and that is working great. On my contact
page I would like to use Google Maps API Version 2 to show a map to my
location. Below is the first Google example.

I would like to add this to my aspx page that is using the master page.
I don't understand how to link to the google JS nor how exactly to
add the inline JS load() method to the .aspx page. Any suggestions?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;
charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script
src="http://maps.google.com/maps?file=api&v=2&key=abcdefg"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[

function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
}
}

//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="; height: 300px"></div>
</body>
</htmlCopy everthing from the "<script" to the "/script>" and paste it into the
<head> portion of the HTML in your ASP.Net page (between the "<head>" and
"</head>" tags). And do yourself a favor and learn something about HTML. All
ASP.Net does is render HTML to a browser from the server (all that you need
to know about it right now, that is). If you don't understand HTML, and then
JavaScript, you will *never* understand ASP.Net. HTML is easy. It's just a
markup language Programming is hard. Start with the easy part.

--
HTH,

Kevin Spencer
Microsoft MVP
Professional Chicken Salad Alchemist

I recycle.
I send everything back to the planet it came from.

"Sam Carleton" <scarleton@.gmail.com> wrote in message
news:1150859005.233489.315340@.i40g2000cwc.googlegr oups.com...
> Ok, over the years I have read about doing web programing and I have
> done some real basic stuff. Now I am digging into some real ASP.Net
> 2.0 and am totally lost some things.
> I have a master page setup and that is working great. On my contact
> page I would like to use Google Maps API Version 2 to show a map to my
> location. Below is the first Google example.
> I would like to add this to my aspx page that is using the master page.
> I don't understand how to link to the google JS nor how exactly to
> add the inline JS load() method to the .aspx page. Any suggestions?
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml">
> <head>
> <meta http-equiv="content-type" content="text/html;
> charset=utf-8"/>
> <title>Google Maps JavaScript API Example</title>
> <script
> src="http://pics.10026.com/?src=http://maps.google.com/maps?file=api&v=2&key=abcdefg"
> type="text/javascript"></script>
> <script type="text/javascript">
> //<![CDATA[
> function load() {
> if (GBrowserIsCompatible()) {
> var map = new GMap2(document.getElementById("map"));
> map.setCenter(new GLatLng(37.4419, -122.1419), 13);
> }
> }
> //]]>
> </script>
> </head>
> <body onload="load()" onunload="GUnload()">
> <div id="map" style="; height: 300px"></div>
> </body>
> </html
Try using Google Maps control from this site:
http://www.reimers.dk/

Sam Carleton wrote:
> Ok, over the years I have read about doing web programing and I have
> done some real basic stuff. Now I am digging into some real ASP.Net
> 2.0 and am totally lost some things.
> I have a master page setup and that is working great. On my contact
> page I would like to use Google Maps API Version 2 to show a map to my
> location. Below is the first Google example.
> I would like to add this to my aspx page that is using the master page.
> I don't understand how to link to the google JS nor how exactly to
> add the inline JS load() method to the .aspx page. Any suggestions?
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml">
> <head>
> <meta http-equiv="content-type" content="text/html;
> charset=utf-8"/>
> <title>Google Maps JavaScript API Example</title>
> <script
> src="http://pics.10026.com/?src=http://maps.google.com/maps?file=api&v=2&key=abcdefg"
> type="text/javascript"></script>
> <script type="text/javascript">
> //<![CDATA[
> function load() {
> if (GBrowserIsCompatible()) {
> var map = new GMap2(document.getElementById("map"));
> map.setCenter(new GLatLng(37.4419, -122.1419), 13);
> }
> }
> //]]>
> </script>
> </head>
> <body onload="load()" onunload="GUnload()">
> <div id="map" style="; height: 300px"></div>
> </body>
> </html
Kevin Spencer wrote:
> Copy everthing from the "<script" to the "/script>" and paste it into the
> <head> portion of the HTML in your ASP.Net page (between the "<head>" and
> "</head>" tags). And do yourself a favor and learn something about HTML. All
> ASP.Net does is render HTML to a browser from the server (all that you need
> to know about it right now, that is). If you don't understand HTML, and then
> JavaScript, you will *never* understand ASP.Net. HTML is easy. It's just a
> markup language Programming is hard. Start with the easy part.

Kevin,

First off, I am a professionally software developer, all my experence
is in Windows Development (C/C++/C#). I do know HTML, on a scale of 1
to 5, I would guess it is around a 3, maybe a 4. My JS skill is around
a 3. But when it comes to ASP.Net 2.0, I know it about a 1 out of 5.
That is where I am a newbe, ASP.Net 2.0.

I looked at my contact.aspx page, *which is using a master page*, and
there is not <head></head>, only the two different <asp:Contect> tags
to fill in the Content section from the Master page. I get the
impression that there is away to add the inline JS, the link to the JS
on google's web site, and the onload/onunload to the contact.aspx page,
but that it is none standard. (by the way, this is what has always
thrown me off about web development frameworks, each one does it's own
unquie thing to implement basic HTML).

Maybe there is simply a good section in the MSDN I should have alook at
that will explain this type of thing, when using master pages.

Sam
Jacob wrote:
> Try using Google Maps control from this site:
> http://www.reimers.dk/

That is great, but... I would like to *UNDERSTAND* how to do it
myself, the source code to the control at that link is not available:(

Sam
Google recommends placing the script in the head and then running it
from the body's onload event. This is done to overcome what is
generally known as the "IE Operation Aborted problem", meaning that IE
won't allow you to change the contents of a tag before it's finished
loading.

In master pages you could conceivably add the script to the head
programatically, but another solution would be to add the script
anywhere on the page and make use of the defer attribute. There is no
law of nature saying that the script has to be placed in the head.

Sam Carleton wrote:
> Kevin Spencer wrote:
> > Copy everthing from the "<script" to the "/script>" and paste it into the
> > <head> portion of the HTML in your ASP.Net page (between the "<head>" and
> > "</head>" tags). And do yourself a favor and learn something about HTML. All
> > ASP.Net does is render HTML to a browser from the server (all that you need
> > to know about it right now, that is). If you don't understand HTML, and then
> > JavaScript, you will *never* understand ASP.Net. HTML is easy. It's just a
> > markup language Programming is hard. Start with the easy part.
> Kevin,
> First off, I am a professionally software developer, all my experence
> is in Windows Development (C/C++/C#). I do know HTML, on a scale of 1
> to 5, I would guess it is around a 3, maybe a 4. My JS skill is around
> a 3. But when it comes to ASP.Net 2.0, I know it about a 1 out of 5.
> That is where I am a newbe, ASP.Net 2.0.
> I looked at my contact.aspx page, *which is using a master page*, and
> there is not <head></head>, only the two different <asp:Contect> tags
> to fill in the Content section from the Master page. I get the
> impression that there is away to add the inline JS, the link to the JS
> on google's web site, and the onload/onunload to the contact.aspx page,
> but that it is none standard. (by the way, this is what has always
> thrown me off about web development frameworks, each one does it's own
> unquie thing to implement basic HTML).
> Maybe there is simply a good section in the MSDN I should have alook at
> that will explain this type of thing, when using master pages.
> Sam
In our master page, we put a contentplaceholder tag between the HTML head
tags, then we stuff the scripts in there. Also, if you build a server
control, you can set up the scripts as a resource and override the OnLoad
like this:

protected override void OnLoad(EventArgs e)
{
Type t = this.GetType();
String js = "MyNameSpace.WebControls.MyJavaScript.js";
String url = Page.ClientScript.GetWebResourceUrl(t, js);
Page.ClientScript.RegisterClientScriptInclude(t, js, url);

base.OnLoad(e);
}

The nice thing about this is it packages it in your dll. Hope this helps.

Diane

"Sam Carleton" wrote:

Quote:

Originally Posted by

>
Jacob wrote:

Quote:

Originally Posted by

Try using Google Maps control from this site:
http://www.reimers.dk/


That is great, but... I would like to *UNDERSTAND* how to do it
myself, the source code to the control at that link is not available:(
Sam
>


0 comments:

Post a Comment